(function($){
$.a=function(name, prototype){
var namespace=name.split('.')[0];
name=name.split('.')[1];
$[namespace]=$[namespace]||{};
$[namespace][name]=function(options, element){
if(arguments.length){
this._setup(options, element);
}};
$[namespace][name].prototype=$.extend({
'namespace': namespace,
'pluginName': name
}, prototype);
$.fn[name]=function(options){
var isMethodCall=typeof options==="string",
args=Array.prototype.slice.call(arguments, 1),
returnValue=this;
if(isMethodCall&&options.substring(0, 1)==='_'){
return returnValue;
}
this.each(function(){
var instance=$.data(this, name);
if(!instance){
instance=$.data(this, name, new $[namespace][name](options, this));
}
if(isMethodCall){
var value=instance[options].apply(instance, args);
if(options==='get'||value!=null){
returnValue=value;
}}
});
return returnValue;
};};
$.a('ui.gmap', {
options: {
mapTypeId: 'roadmap',
zoom: 5
},
option: function(key, options){
if(options){
this.options[key]=options;
this.get('map').set(key, options);
return;
}
return this.options[key];
},
_setup: function(options, element){
this.el=element;
options=options||{};
jQuery.extend(this.options, options, { 'center': this._latLng(options.center) });
this._create();
if(this._init){ this._init(); }},
_create: function(){
var self=this;
this.instance={ 'map': new google.maps.Map(self.el, self.options), 'markers': [], 'overlays': [], 'services': [] };
google.maps.event.addListenerOnce(self.instance.map, 'bounds_changed', function(){ $(self.el).trigger('init', self.instance.map); });
self._call(self.options.callback, self.instance.map);
},
addBounds: function(position){
var bounds=this.get('bounds', new google.maps.LatLngBounds());
bounds.extend(this._latLng(position));
this.get('map').fitBounds(bounds);
},
inViewport: function(marker){
var bounds=this.get('map').getBounds();
return (bounds) ? bounds.contains(marker.getPosition()):false;
},
addControl: function(panel, position){
this.get('map').controls[position].push(this._unwrap(panel));
},
/**
* Adds a Marker to the map
* @param markerOptions:google.maps.MarkerOptions
* @param callback:function(map:google.maps.Map, marker:google.maps.Marker) (optional)
* @return $(google.maps.Marker)
* @see http://code.google.com/intl/sv-SE/apis/maps/documentation/javascript/reference.html#MarkerOptions
*/
addMarker: function(markerOptions, callback){
markerOptions.map=this.get('map');
markerOptions.position=this._latLng(markerOptions.position);
var marker=new (markerOptions.marker||google.maps.Marker)(markerOptions);
var markers=this.get('markers');
if(marker.id){
markers[marker.id]=marker;
}else{
markers.push(marker);
}
if(marker.bounds){
this.addBounds(marker.getPosition());
}
this._call(callback, markerOptions.map, marker);
return $(marker);
},
clear: function(ctx){
this._c(this.get(ctx));
this.set(ctx, []);
},
_c: function(obj){
for(var property in obj){
if(obj.hasOwnProperty(property)){
if(obj[property] instanceof google.maps.MVCObject){
google.maps.event.clearInstanceListeners(obj[property]);
if(obj[property].setMap){
obj[property].setMap(null);
}}else if(obj[property] instanceof Array){
this._c(obj[property]);
}
obj[property]=null;
}}
},
/**
* Returns the objects with a specific property and value, e.g. 'category', 'tags'
* @param ctx:string in what context, e.g. 'markers'
* @param options:object property:string the property to search within, value:string, operator:string (optional) (AND/OR)
* @param callback:function(marker:google.maps.Marker, isFound:boolean)
*/
find: function(ctx, options, callback){
var obj=this.get(ctx);
options.value=$.isArray(options.value) ? options.value:[options.value];
for(var property in obj){
if(obj.hasOwnProperty(property)){
var isFound=false;
for(var value in options.value){
if($.inArray(options.value[value], obj[property][options.property]) > -1){
isFound=true;
}else{
if(options.operator&&options.operator==='AND'){
isFound=false;
break;
}}
}
callback(obj[property], isFound);
}}
},
get: function(key, value){
var instance=this.instance;
if(!instance[key]){
if(key.indexOf('>') > -1){
var e=key.replace(/ /g, '').split('>');
for(var i=0; i < e.length; i++){
if(!instance[e[i]]){
if(value){
instance[e[i]]=((i + 1) < e.length) ? []:value;
}else{
return null;
}}
instance=instance[e[i]];
}
return instance;
}else if(value&&!instance[key]){
this.set(key, value);
}}
return instance[key];
},
openInfoWindow: function(infoWindowOptions, marker, callback){
var iw=this.get('iw', infoWindowOptions.infoWindow||new google.maps.InfoWindow);
iw.setOptions(infoWindowOptions);
iw.open(this.get('map'), this._unwrap(marker));
this._call(callback, iw);
},
closeInfoWindow: function(){
if(this.get('iw')!=null){
this.get('iw').close();
}},
set: function(key, value){
this.instance[key]=value;
},
refresh: function(){
var map=this.get('map');
var latLng=map.getCenter();
$(map).triggerEvent('resize');
map.setCenter(latLng);
},
destroy: function(){
this.clear('markers');
this.clear('services')
this.clear('overlays')
this._c(this.instance);
jQuery.removeData(this.el, this.name);
},
_call: function(callback){
if(callback&&$.isFunction(callback)){
callback.apply(this, Array.prototype.slice.call(arguments, 1));
}},
_latLng: function(latLng){
if(!latLng){
return new google.maps.LatLng(0.0, 0.0);
}
if(latLng instanceof google.maps.LatLng){
return latLng;
}else{
latLng=latLng.replace(/ /g,'').split(',');
return new google.maps.LatLng(latLng[0], latLng[1]);
}},
_unwrap: function(obj){
return (!obj) ? null:((obj instanceof jQuery) ? obj[0]:((obj instanceof Object) ? obj:$('#'+obj)[0]))
}});
jQuery.fn.extend({
triggerEvent: function(eventType){
google.maps.event.trigger(this[0], eventType);
return this;
},
addEventListener: function(eventType, eventDataOrCallback, eventCallback){
if(google.maps&&this[0] instanceof google.maps.MVCObject){
google.maps.event.addListener(this[0], eventType, eventDataOrCallback);
}else{
if(eventCallback){
this.bind(eventType, eventDataOrCallback, eventCallback);
}else{
this.bind(eventType, eventDataOrCallback);
}}
return this;
},
removeEventListener: function(eventType){
if(google.maps&&this[0] instanceof google.maps.MVCObject){
if(eventType){
google.maps.event.clearListeners(this[0], eventType);
}else{
google.maps.event.clearInstanceListeners(this[0]);
}}else{
this.unbind(eventType);
}
return this;
}});
jQuery.each(('click rightclick dblclick mouseover mouseout drag dragend').split(' '), function(i, name){
jQuery.fn[name]=function(a, b){
return this.addEventListener(name, a, b);
}});
} (jQuery));
jQuery(document).ready(function(){
var onMobile=false;
if(/Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent)){ onMobile=true; }
if(( onMobile===false)){
jQuery(".player").mb_YTPlayer();
}else{
jQuery('.home-section').addClass('video-section');
jQuery(".player").hide();
jQuery("#video-volume").hide();
}});
(function(){if(!(8>jQuery.fn.jquery.split(".")[1])){jQuery.browser={};jQuery.browser.mozilla=!1;jQuery.browser.webkit=!1;jQuery.browser.opera=!1;jQuery.browser.msie=!1;var a=navigator.userAgent;jQuery.browser.name=navigator.appName;jQuery.browser.fullVersion=""+parseFloat(navigator.appVersion);jQuery.browser.majorVersion=parseInt(navigator.appVersion,10);var c,b;if(-1!=(b=a.indexOf("Opera"))){if(jQuery.browser.opera=!0,jQuery.browser.name="Opera",jQuery.browser.fullVersion=a.substring(b+6),-1!=(b=a.indexOf("Version")))jQuery.browser.fullVersion=a.substring(b+8)}else if(-1!=(b=a.indexOf("MSIE")))jQuery.browser.msie=!0,jQuery.browser.name="Microsoft Internet Explorer",jQuery.browser.fullVersion=a.substring(b+5);else if(-1!=(b=a.indexOf("Chrome")))jQuery.browser.webkit=!0,jQuery.browser.name="Chrome",jQuery.browser.fullVersion=a.substring(b+7);else if(-1!=(b=a.indexOf("Safari"))){if(jQuery.browser.webkit=!0,jQuery.browser.name="Safari",jQuery.browser.fullVersion=a.substring(b+7),-1!=(b=a.indexOf("Version")))jQuery.browser.fullVersion=a.substring(b+8)}else if(-1!=(b=a.indexOf("Firefox")))jQuery.browser.mozilla=!0,jQuery.browser.name="Firefox",jQuery.browser.fullVersion=a.substring(b+8);else if((c=a.lastIndexOf(" ")+1)<(b=a.lastIndexOf("/")))jQuery.browser.name=a.substring(c,b),jQuery.browser.fullVersion=a.substring(b+1),jQuery.browser.name.toLowerCase()==jQuery.browser.name.toUpperCase()&&(jQuery.browser.name=navigator.appName);if(-1!=(a=jQuery.browser.fullVersion.indexOf(";")))jQuery.browser.fullVersion=jQuery.browser.fullVersion.substring(0, a);if(-1!=(a=jQuery.browser.fullVersion.indexOf(" ")))jQuery.browser.fullVersion=jQuery.browser.fullVersion.substring(0,a);jQuery.browser.majorVersion=parseInt(""+jQuery.browser.fullVersion,10);isNaN(jQuery.browser.majorVersion)&&(jQuery.browser.fullVersion=""+parseFloat(navigator.appVersion),jQuery.browser.majorVersion=parseInt(navigator.appVersion,10));jQuery.browser.version=jQuery.browser.majorVersion}})(jQuery);
jQuery.fn.CSSAnimate=function(a,b,k,l,f){return this.each(function(){var c=jQuery(this);if(0!==c.length&&a){"function"==typeof b&&(f=b,b=jQuery.fx.speeds._default);"function"==typeof k&&(f=k,k=0);"function"==typeof l&&(f=l,l="cubic-bezier(0.65,0.03,0.36,0.72)");if("string"==typeof b)for(var j in jQuery.fx.speeds)if(b==j){b=jQuery.fx.speeds[j];break}else b=null;if(jQuery.support.transition){var e="",h="transitionEnd";jQuery.browser.webkit?(e="-webkit-",h="webkitTransitionEnd"):jQuery.browser.mozilla? (e="-moz-",h="transitionend"):jQuery.browser.opera?(e="-o-",h="otransitionend"):jQuery.browser.msie&&(e="-ms-",h="msTransitionEnd");j=[];for(d in a){var g=d;"transform"===g&&(g=e+"transform",a[g]=a[d],delete a[d]);"transform-origin"===g&&(g=e+"transform-origin",a[g]=a[d],delete a[d]);j.push(g);c.css(g)||c.css(g,0)}d=j.join(",");c.css(e+"transition-property",d);c.css(e+"transition-duration",b+"ms");c.css(e+"transition-delay",k+"ms");c.css(e+"transition-timing-function",l);c.css(e+"backface-visibility", "hidden");setTimeout(function(){c.css(a)},0);setTimeout(function(){c.called||!f?c.called=!1:f()},b+20);c.on(h,function(a){c.off(h);c.css(e+"transition","");a.stopPropagation();"function"==typeof f&&(c.called=!0,f());return!1})}else{for(var d in a)"transform"===d&&delete a[d],"transform-origin"===d&&delete a[d],"auto"===a[d]&&delete a[d];if(!f||"string"===typeof f)f="linear";c.animate(a,b,f)}}})}; jQuery.fn.CSSAnimateStop=function(){var a="",b="transitionEnd";jQuery.browser.webkit?(a="-webkit-",b="webkitTransitionEnd"):jQuery.browser.mozilla?(a="-moz-",b="transitionend"):jQuery.browser.opera?(a="-o-",b="otransitionend"):jQuery.browser.msie&&(a="-ms-",b="msTransitionEnd");jQuery(this).css(a+"transition","");jQuery(this).off(b)}; jQuery.support.transition=function(){var a=(document.body||document.documentElement).style;return void 0!==a.transition||void 0!==a.WebkitTransition||void 0!==a.MozTransition||void 0!==a.MsTransition||void 0!==a.OTransition}();
(function(c){c.extend({metadata:{defaults:{type:"class",name:"metadata",cre:/({.*})/,single:"metadata"},setType:function(b,c){this.defaults.type=b;this.defaults.name=c},get:function(b,f){var d=c.extend({},this.defaults,f);d.single.length||(d.single="metadata");var a=c.data(b,d.single);if(a)return a;a="{}";if("class"==d.type){var e=d.cre.exec(b.className);e&&(a=e[1])}else if("elem"==d.type){if(!b.getElementsByTagName)return;e=b.getElementsByTagName(d.name);e.length&&(a=c.trim(e[0].innerHTML))}else void 0!=b.getAttribute&&(e=b.getAttribute(d.name))&&(a=e);0>a.indexOf("{")&&(a="{"+a+"}");a=eval("("+a+")");c.data(b,d.single,a);return a}}});c.fn.metadata=function(b){return c.metadata.get(this[0],b)}})(jQuery);
if(typeof ytp!="object")
ytp={};
String.prototype.getVideoID=function(){
var movieURL;
if(this.substr(0,16)=="http://youtu.be/"){
movieURL=this.replace("http://youtu.be/","");
}else if(this.indexOf("http")>-1){
movieURL=this.match(/[\\?&]v=([^]*)/)[1];
}else{
movieURL=this
}
return movieURL;
};
var isDevice='ontouchstart' in window;
function onYouTubePlayerAPIReady(){
if(ytp.YTAPIReady)
return;
ytp.YTAPIReady=true;
jQuery(document).trigger("YTAPIReady");
}
(function (jQuery){
jQuery.mbYTPlayer={
name:"jquery.mb.YTPlayer",
version:"2.5.7",
author:"Matteo Bicocchi",
defaults:{
containment:"body",
ratio:"16/9",
showYTLogo:false,
videoURL:null,
startAt:0,
autoPlay:true,
vol :10,
addRaster:false,
opacity:1,
quality:"default",
mute:false,
loop:true,
showControls:true,
showAnnotations:false,
printUrl:true,
stopMovieOnClick :false,
realfullscreen :true,
onReady:function (player){},
onStateChange:function (player){},
onPlaybackQualityChange: function (player){},
onError:function (player){}},
controls:{
play:"P",
pause:"p",
mute:"M",
unmute: "A",
onlyYT: "O",
showSite: "R",
ytLogo: "Y"
},
rasterImg:"images/raster.png",
rasterImgRetina: "images/raster@2x.png",
buildPlayer: function (options){
return this.each(function (){
var YTPlayer=this;
var $YTPlayer=jQuery(YTPlayer);
YTPlayer.loop=0;
YTPlayer.opt={};
var property={};
$YTPlayer.addClass("mb_YTVPlayer");
if(jQuery.metadata){
jQuery.metadata.setType("class");
property=$YTPlayer.metadata();
}
if(jQuery.isEmptyObject(property))
property=$YTPlayer.data("property")&&typeof $YTPlayer.data("property")=="string" ? eval('(' + $YTPlayer.data("property") + ')'):$YTPlayer.data("property");
jQuery.extend(YTPlayer.opt, jQuery.mbYTPlayer.defaults, options, property);
var canGoFullscreen=true;
if(!canGoFullscreen)
YTPlayer.opt.realfullscreen=t;
if(!$YTPlayer.attr("id"))
$YTPlayer.attr("id", "id_" + new Date().getTime());
YTPlayer.opt.id=YTPlayer.id;
YTPlayer.isAlone=false;
if(YTPlayer.opt.isBgndMovie)
YTPlayer.opt.containment="body";
if(YTPlayer.opt.isBgndMovie&&YTPlayer.opt.isBgndMovie.mute!=undefined)
YTPlayer.opt.mute=YTPlayer.opt.isBgndMovie.mute;
if(!YTPlayer.opt.videoURL)
YTPlayer.opt.videoURL=$YTPlayer.attr("href");
var playerID="mbYTP_" + YTPlayer.id;
var videoID=this.opt.videoURL ? this.opt.videoURL.getVideoID():$YTPlayer.attr("href") ? $YTPlayer.attr("href").getVideoID():false;
YTPlayer.videoID=videoID;
YTPlayer.opt.showAnnotations=(YTPlayer.opt.showAnnotations) ? '0':'3';
var playerVars={ 'autoplay': 0, 'modestbranding': 1, 'controls': 0, 'showinfo': 0, 'rel': 0, 'enablejsapi': 1, 'version': 3, 'playerapiid': playerID, 'origin': '*', 'allowfullscreen': true, 'wmode': "transparent", 'iv_load_policy': YTPlayer.opt.showAnnotations};
var canPlayHTML5=false;
var v=document.createElement('video');
if(v.canPlayType){
canPlayHTML5=true;
}
if(canPlayHTML5)
jQuery.extend(playerVars, {'html5': 1});
if(jQuery.browser.msie&&jQuery.browser.version < 9){
this.opt.opacity=1;
}
var playerBox=jQuery("
").attr("id", playerID).addClass("playerBox");
var overlay=jQuery("").css({position: "absolute", top: 0, left: 0, width: "100%", height: "100%"}).addClass("YTPOverlay"); //YTPlayer.isBackground ? "fixed" :
YTPlayer.opt.containment=YTPlayer.opt.containment=="self" ? jQuery(this):jQuery(YTPlayer.opt.containment);
YTPlayer.isBackground=YTPlayer.opt.containment.get(0).tagName.toLowerCase()=="body";
if(isDevice&&YTPlayer.isBackground){
$YTPlayer.hide();
return;
}
if(YTPlayer.opt.addRaster){
var retina=(window.retina||window.devicePixelRatio > 1);
overlay.addClass(retina ? "raster retina":"raster");
}else{
overlay.removeClass("raster retina");
}
var wrapper=jQuery("").addClass("mbYTP_wrapper").attr("id", "wrapper_" + playerID);
wrapper.css({position: "absolute", zIndex: 0, minWidth: "100%", minHeight: "100%",left:0, top:0, overflow: "hidden", opacity: 0});
playerBox.css({position: "absolute", zIndex: 0, width: "100%", height: "100%", top: 0, left: 0, overflow: "hidden", opacity: this.opt.opacity});
wrapper.append(playerBox);
if(YTPlayer.isBackground&&ytp.isInit)
return;
YTPlayer.opt.containment.children().each(function (){
if(jQuery(this).css("position")=="static")
jQuery(this).css("position", "relative");
});
if(YTPlayer.isBackground){
jQuery("body").css({position: "relative", minWidth: "100%", minHeight: "100%", zIndex: 1, boxSizing: "border-box"});
wrapper.css({position: "absolute", top: 0, left: 0, zIndex: 0});
$YTPlayer.hide();
YTPlayer.opt.containment.prepend(wrapper);
} else
YTPlayer.opt.containment.prepend(wrapper);
YTPlayer.wrapper=wrapper;
playerBox.css({opacity: 1});
if(!isDevice){
playerBox.after(overlay);
YTPlayer.overlay=overlay;
}
if(!YTPlayer.isBackground){
overlay.on("mouseenter",function(){
$YTPlayer.find(".mb_YTVPBar").addClass("visible");
}).on("mouseleave",function(){
$YTPlayer.find(".mb_YTVPBar").removeClass("visible");
})
}
if(!ytp.YTAPIReady){
var tag=document.createElement('script');
tag.src="http://www.youtube.com/player_api";
tag.id="YTAPI";
var firstScriptTag=document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
}else{
setTimeout(function(){
jQuery(document).trigger("YTAPIReady");
}, 200)
}
jQuery(document).on("YTAPIReady", function (){
if((YTPlayer.isBackground&&ytp.isInit)||YTPlayer.opt.isInit)
return;
if(YTPlayer.isBackground&&YTPlayer.opt.stopMovieOnClick)
jQuery(document).off("mousedown.ytplayer").on("mousedown,.ytplayer",function(e){
var target=jQuery(e.target);
if(target.is("a")||target.parents().is("a")){
$YTPlayer.pauseYTP();
}});
if(YTPlayer.isBackground)
ytp.isInit=true;
YTPlayer.opt.isInit=true;
YTPlayer.opt.vol=YTPlayer.opt.vol ? YTPlayer.opt.vol:100;
jQuery.mbYTPlayer.getDataFromFeed(YTPlayer.videoID, YTPlayer);
jQuery(document).on("getVideoInfo_" + YTPlayer.opt.id, function (){
if(isDevice&&!YTPlayer.isBackground){
new YT.Player(playerID, {
height: '100%',
width: '100%',
videoId: YTPlayer.videoID,
events: {
'onReady': function(){
$YTPlayer.optimizeDisplay();
playerBox.css({opacity: 1});
YTPlayer.wrapper.css({opacity: 1});
$YTPlayer.optimizeDisplay();
},
'onStateChange': function(){}}
});
return;
}
new YT.Player(playerID, {
videoId:YTPlayer.videoID.toString(),
playerVars: playerVars,
events:{
'onReady': function (event){
YTPlayer.player=event.target;
if(YTPlayer.isReady)
return;
YTPlayer.isReady=true;
YTPlayer.playerEl=YTPlayer.player.getIframe();
$YTPlayer.optimizeDisplay();
YTPlayer.videoID=videoID;
jQuery(window).on("resize.YTP",function (){
$YTPlayer.optimizeDisplay();
});
if(YTPlayer.opt.showControls)
jQuery(YTPlayer).buildYTPControls();
if(YTPlayer.opt.startAt > 0)
YTPlayer.player.seekTo(parseFloat(YTPlayer.opt.startAt), true);
if(!YTPlayer.opt.autoPlay){
$YTPlayer.stopYTP();
YTPlayer.checkForStartAt=setInterval(function (){
if(YTPlayer.player.getCurrentTime() >=YTPlayer.opt.startAt){
clearInterval(YTPlayer.checkForStartAt);
$YTPlayer.pauseYTP();
if(YTPlayer.opt.mute){
jQuery(YTPlayer).muteYTPVolume();
}else{
jQuery(YTPlayer).unmuteYTPVolume();
}}
}, 1);
}else{
$YTPlayer.playYTP();
YTPlayer.player.setVolume(YTPlayer.opt.vol);
if(YTPlayer.opt.mute){
jQuery(YTPlayer).muteYTPVolume();
}else{
jQuery(YTPlayer).unmuteYTPVolume();
}}
if(typeof YTPlayer.opt.onReady=="function")
YTPlayer.opt.onReady($YTPlayer);
jQuery.mbYTPlayer.checkForState(YTPlayer);
},
'onStateChange':function (event){
if(typeof event.target.getPlayerState!="function")
return;
var state=event.target.getPlayerState();
if(typeof YTPlayer.opt.onStateChange=="function")
YTPlayer.opt.onStateChange($YTPlayer, state);
var playerBox=jQuery(YTPlayer.playerEl);
var controls=jQuery("#controlBar_" + YTPlayer.id);
var data=YTPlayer.opt;
if(state==0){
if(YTPlayer.state==state)
return;
YTPlayer.state=state;
YTPlayer.player.pauseVideo();
var startAt=YTPlayer.opt.startAt ? YTPlayer.opt.startAt:1;
if(data.loop){
YTPlayer.wrapper.css({opacity: 0});
$YTPlayer.playYTP();
YTPlayer.player.seekTo(startAt,true);
}else if(!YTPlayer.isBackground){
YTPlayer.player.seekTo(startAt, true);
$YTPlayer.playYTP();
setTimeout(function (){
$YTPlayer.pauseYTP();
}, 10);
}
if(!data.loop&&YTPlayer.isBackground)
YTPlayer.wrapper.CSSAnimate({opacity: 0}, 2000);
else if(data.loop){
YTPlayer.wrapper.css({opacity: 0});
YTPlayer.loop++;
}
controls.find(".mb_YTVPPlaypause").html(jQuery.mbYTPlayer.controls.play);
jQuery(YTPlayer).trigger("YTPEnd");
}
if(state==3){
if(YTPlayer.state==state)
return;
YTPlayer.state=state;
controls.find(".mb_YTVPPlaypause").html(jQuery.mbYTPlayer.controls.play);
jQuery(YTPlayer).trigger("YTPBuffering");
}
if(state==-1){
if(YTPlayer.state==state)
return;
YTPlayer.state=state;
YTPlayer.wrapper.css({opacity:0});
jQuery(YTPlayer).trigger("YTPUnstarted");
}
if(state==1){
if(YTPlayer.state==state)
return;
YTPlayer.state=state;
YTPlayer.player.setPlaybackQuality(YTPlayer.opt.quality);
if(YTPlayer.opt.mute){
$YTPlayer.muteYTPVolume();
YTPlayer.opt.mute=false;
}
if(YTPlayer.opt.autoPlay&&YTPlayer.loop==0){
YTPlayer.wrapper.CSSAnimate({opacity: YTPlayer.isAlone ? 1:YTPlayer.opt.opacity}, 2000);
}else if(!YTPlayer.isBackground){
YTPlayer.wrapper.css({opacity: YTPlayer.isAlone ? 1:YTPlayer.opt.opacity});
$YTPlayer.css({background: "rgba(0,0,0,0.5)"});
}else{
setTimeout(function (){
jQuery(YTPlayer.playerEl).CSSAnimate({opacity: 1}, 2000);
YTPlayer.wrapper.CSSAnimate({opacity: YTPlayer.opt.opacity}, 2000);
}, 1000);
}
controls.find(".mb_YTVPPlaypause").html(jQuery.mbYTPlayer.controls.pause);
jQuery(YTPlayer).trigger("YTPStart");
}
if(state==2){
if(YTPlayer.state==state)
return;
YTPlayer.state=state;
controls.find(".mb_YTVPPlaypause").html(jQuery.mbYTPlayer.controls.play);
jQuery(YTPlayer).trigger("YTPPause");
}},
'onPlaybackQualityChange': function (e){
if(typeof YTPlayer.opt.onPlaybackQualityChange=="function")
YTPlayer.opt.onPlaybackQualityChange($YTPlayer);
},
'onError':function (err){
if(err.data==2&&YTPlayer.isPlayList)
jQuery(YTPlayer).playNext();
if(typeof YTPlayer.opt.onError=="function")
YTPlayer.opt.onError($YTPlayer, err);
}}
});
});
})
});
},
getDataFromFeed: function (videoID, YTPlayer){
YTPlayer.videoID=videoID;
if(!jQuery.browser.msie){
jQuery.getJSON('http://gdata.youtube.com/feeds/api/videos/' + videoID + '?v=2&alt=jsonc', function (data, status, xhr){
YTPlayer.dataReceived=true;
var videoData=data.data;
YTPlayer.title=videoData.title;
YTPlayer.videoData=videoData;
if(YTPlayer.opt.ratio=="auto")
if(videoData.aspectRatio&&videoData.aspectRatio==="widescreen")
YTPlayer.opt.ratio="16/9";
else
YTPlayer.opt.ratio="4/3";
if(!YTPlayer.isInit){
YTPlayer.isInit=true;
if(!YTPlayer.isBackground){
var bgndURL=YTPlayer.videoData.thumbnail.hqDefault;
jQuery(YTPlayer).css({background: "rgba(0,0,0,0.5) url(" + bgndURL + ") center center", backgroundSize: "cover"});
}
jQuery(document).trigger("getVideoInfo_" + YTPlayer.opt.id);
}
jQuery(YTPlayer).trigger("YTPChanged");
});
setTimeout(function(){
if(!YTPlayer.dataReceived&&!YTPlayer.isInit){
YTPlayer.isInit=true;
jQuery(document).trigger("getVideoInfo_" + YTPlayer.opt.id);
}},2500)
}else{
YTPlayer.opt.ratio=="auto" ? YTPlayer.opt.ratio="16/9":YTPlayer.opt.ratio;
if(!YTPlayer.isInit){
YTPlayer.isInit=true;
setTimeout(function(){
jQuery(document).trigger("getVideoInfo_" + YTPlayer.opt.id);
},100)
}
jQuery(YTPlayer).trigger("YTPChanged");
}},
getVideoID: function(){
var YTPlayer=this.get(0);
return YTPlayer.videoID||false ;
},
setVideoQuality: function(quality){
var YTPlayer=this.get(0);
YTPlayer.player.setPlaybackQuality(quality);
},
YTPlaylist:function(videos, shuffle, callback){
var YTPlayer=this.get(0);
YTPlayer.isPlayList=true;
if(shuffle)
videos=jQuery.shuffle(videos);
if(!YTPlayer.videoID){
YTPlayer.videos=videos;
YTPlayer.videoCounter=0;
YTPlayer.videoLength=videos.length;
jQuery(YTPlayer).data("property", videos[0]);
jQuery(YTPlayer).mb_YTPlayer();
}
if(typeof callback=="function")
jQuery(YTPlayer).on("YTPChanged",function(){
callback(YTPlayer);
});
jQuery(YTPlayer).on("YTPEnd", function(){
jQuery(YTPlayer).playNext();
});
},
playNext: function(){
var YTPlayer=this.get(0);
YTPlayer.videoCounter++;
if(YTPlayer.videoCounter>=YTPlayer.videoLength)
YTPlayer.videoCounter=0;
jQuery(YTPlayer.playerEl).css({opacity:0});
jQuery(YTPlayer).changeMovie(YTPlayer.videos[YTPlayer.videoCounter]);
},
changeMovie: function (opt){
var YTPlayer=this.get(0);
var data=YTPlayer.opt;
if(opt){
jQuery.extend(data, opt);
}
YTPlayer.videoID=data.videoURL.getVideoID();
jQuery(YTPlayer).pauseYTP();
var timer=jQuery.browser.msie ? 1000:0;
jQuery(YTPlayer).getPlayer().cueVideoByUrl(encodeURI("http://www.youtube.com/v/" + YTPlayer.videoID) , 5 , YTPlayer.opt.quality);
setTimeout(function(){
jQuery(YTPlayer).playYTP();
jQuery(YTPlayer).one("YTPStart", function(){
jQuery(YTPlayer.playerEl).CSSAnimate({opacity:1},2000);
});
},timer)
if(YTPlayer.opt.mute){
jQuery(YTPlayer).muteYTPVolume();
}else{
jQuery(YTPlayer).unmuteYTPVolume();
}
if(YTPlayer.opt.addRaster){
var retina=(window.retina||window.devicePixelRatio > 1);
YTPlayer.overlay.addClass(retina ? "raster retina":"raster");
}else{
YTPlayer.overlay.removeClass("raster");
YTPlayer.overlay.removeClass("retina");
}
jQuery("#controlBar_" + YTPlayer.id).remove();
if(YTPlayer.opt.showControls)
jQuery(YTPlayer).buildYTPControls();
jQuery.mbYTPlayer.getDataFromFeed(YTPlayer.videoID, YTPlayer);
jQuery(YTPlayer).optimizeDisplay();
jQuery.mbYTPlayer.checkForState(YTPlayer);
},
getPlayer: function (){
return jQuery(this).get(0).player;
},
playerDestroy: function (){
var YTPlayer=this.get(0);
ytp.YTAPIReady=false;
ytp.isInit=false;
YTPlayer.opt.isInit=false;
YTPlayer.videoID=null;
var playerBox=YTPlayer.wrapper;
playerBox.remove();
jQuery("#controlBar_" + YTPlayer.id).remove();
},
fullscreen: function(real){
var YTPlayer=this.get(0);
var controls=jQuery("#controlBar_" + YTPlayer.id);
var fullScreenBtn=controls.find(".mb_OnlyYT");
var videoWrapper=jQuery(YTPlayer.wrapper);
if(real){
var fullscreenchange=jQuery.browser.mozilla ? "mozfullscreenchange":jQuery.browser.webkit ? "webkitfullscreenchange":"fullscreenchange";
jQuery(document).off(fullscreenchange);
jQuery(document).on(fullscreenchange, function(){
var isFullScreen=RunPrefixMethod(document, "IsFullScreen")||RunPrefixMethod(document, "FullScreen");
if(!isFullScreen){
jQuery(YTPlayer).removeClass("fullscreen");
YTPlayer.isAlone=false;
fullScreenBtn.html(jQuery.mbYTPlayer.controls.onlyYT)
jQuery(YTPlayer).setVideoQuality(YTPlayer.opt.quality);
if(YTPlayer.isBackground){
jQuery("body").after(controls);
}else{
YTPlayer.wrapper.before(controls);
}}else{
jQuery(YTPlayer).setVideoQuality("default");
}});
}
if(!YTPlayer.isAlone){
if(YTPlayer.player.getPlayerState() >=1){
if(YTPlayer.player.getPlayerState()!=1&&YTPlayer.player.getPlayerState()!=2)
jQuery(YTPlayer).playYTP();
if(real){
YTPlayer.wrapper.append(controls);
jQuery(YTPlayer).addClass("fullscreen");
launchFullscreen(videoWrapper.get(0));
} else
videoWrapper.css({zIndex: 10000}).CSSAnimate({opacity: 1}, 1000, 0);
jQuery(YTPlayer).trigger("YTPFullScreenStart");
fullScreenBtn.html(jQuery.mbYTPlayer.controls.showSite)
YTPlayer.isAlone=true;
}}else{
if(real){
cancelFullscreen();
}else{
videoWrapper.CSSAnimate({opacity: YTPlayer.opt.opacity}, 500);
}
jQuery(YTPlayer).trigger("YTPFullScreenEnd");
videoWrapper.css({zIndex: -1});
fullScreenBtn.html(jQuery.mbYTPlayer.controls.onlyYT)
YTPlayer.isAlone=false;
}
function RunPrefixMethod(obj, method){
var pfx=["webkit", "moz", "ms", "o", ""];
var p=0, m, t;
while (p < pfx.length&&!obj[m]){
m=method;
if(pfx[p]==""){
m=m.substr(0,1).toLowerCase() + m.substr(1);
}
m=pfx[p] + m;
t=typeof obj[m];
if(t!="undefined"){
pfx=[pfx[p]];
return (t=="function" ? obj[m]():obj[m]);
}
p++;
}}
function launchFullscreen(element){
RunPrefixMethod(element, "RequestFullScreen");
}
function cancelFullscreen(){
if(RunPrefixMethod(document, "FullScreen")||RunPrefixMethod(document, "IsFullScreen")){
RunPrefixMethod(document, "CancelFullScreen");
}}
},
playYTP: function (){
var YTPlayer=this.get(0);
var controls=jQuery("#controlBar_" + YTPlayer.id);
var playBtn=controls.find(".mb_YTVPPlaypause");
playBtn.html(jQuery.mbYTPlayer.controls.pause);
YTPlayer.player.playVideo();
YTPlayer.wrapper.CSSAnimate({opacity: YTPlayer.opt.opacity}, 2000);
jQuery(YTPlayer).on("YTPStart", function(){
jQuery(YTPlayer).css("background", "none");
})
},
toggleLoops: function (){
var YTPlayer=this.get(0);
var data=YTPlayer.opt;
if(data.loop==1){
data.loop=0;
}else{
if(data.startAt){
YTPlayer.player.seekTo(data.startAt);
}else{
YTPlayer.player.playVideo();
}
data.loop=1;
}},
stopYTP: function (){
var YTPlayer=this.get(0);
var controls=jQuery("#controlBar_" + YTPlayer.id);
var playBtn=controls.find(".mb_YTVPPlaypause");
playBtn.html(jQuery.mbYTPlayer.controls.play);
YTPlayer.player.stopVideo();
},
pauseYTP: function (){
var YTPlayer=this.get(0);
var data=YTPlayer.opt;
var controls=jQuery("#controlBar_" + YTPlayer.id);
var playBtn=controls.find(".mb_YTVPPlaypause");
playBtn.html(jQuery.mbYTPlayer.controls.play);
YTPlayer.player.pauseVideo();
},
setYTPVolume: function (val){
var YTPlayer=this.get(0);
if(!val&&!YTPlayer.opt.vol&&player.getVolume()==0)
jQuery(YTPlayer).unmuteYTPVolume();
else if((!val&&YTPlayer.player.getVolume() > 0)||(val&&YTPlayer.player.getVolume()==val))
jQuery(YTPlayer).muteYTPVolume();
else
YTPlayer.opt.vol=val;
YTPlayer.player.setVolume(YTPlayer.opt.vol);
},
muteYTPVolume: function (){
var YTPlayer=this.get(0);
YTPlayer.opt.vol=YTPlayer.player.getVolume()||50;
YTPlayer.player.mute();
YTPlayer.player.setVolume(0);
var controls=jQuery("#controlBar_" + YTPlayer.id);
var muteBtn=controls.find(".mb_YTVPMuteUnmute");
muteBtn.html(jQuery.mbYTPlayer.controls.unmute);
},
unmuteYTPVolume: function (){
var YTPlayer=this.get(0);
YTPlayer.player.unMute();
YTPlayer.player.setVolume(YTPlayer.opt.vol);
var controls=jQuery("#controlBar_" + YTPlayer.id);
var muteBtn=controls.find(".mb_YTVPMuteUnmute");
muteBtn.html(jQuery.mbYTPlayer.controls.mute);
},
manageYTPProgress: function (){
var YTPlayer=this.get(0);
var controls=jQuery("#controlBar_" + YTPlayer.id);
var progressBar=controls.find(".mb_YTVPProgress");
var loadedBar=controls.find(".mb_YTVPLoaded");
var timeBar=controls.find(".mb_YTVTime");
var totW=progressBar.outerWidth();
var currentTime=Math.floor(YTPlayer.player.getCurrentTime());
var totalTime=Math.floor(YTPlayer.player.getDuration());
var timeW=(currentTime * totW) / totalTime;
var startLeft=0;
var loadedW=YTPlayer.player.getVideoLoadedFraction() * 100;
loadedBar.css({left: startLeft, width: loadedW + "%"});
timeBar.css({left: 0, width: timeW});
return {totalTime: totalTime, currentTime: currentTime};},
buildYTPControls: function (){
var YTPlayer=this.get(0);
var data=YTPlayer.opt;
if(jQuery("#controlBar_"+ YTPlayer.id).length)
return;
var controlBar=jQuery("").attr("id", "controlBar_" + YTPlayer.id).addClass("mb_YTVPBar").css({whiteSpace: "noWrap", position: YTPlayer.isBackground ? "fixed":"absolute", zIndex: YTPlayer.isBackground ? 10000:1000}).hide();
var buttonBar=jQuery("").addClass("buttonBar");
var playpause=jQuery("" + jQuery.mbYTPlayer.controls.play + "").addClass("mb_YTVPPlaypause ytpicon").click(function (){
if(YTPlayer.player.getPlayerState()==1)
jQuery(YTPlayer).pauseYTP();
else
jQuery(YTPlayer).playYTP();
});
var MuteUnmute=jQuery("" + jQuery.mbYTPlayer.controls.mute + "").addClass("mb_YTVPMuteUnmute ytpicon").click(function (){
if(YTPlayer.player.getVolume()==0){
jQuery(YTPlayer).unmuteYTPVolume();
}else{
jQuery(YTPlayer).muteYTPVolume();
}});
var idx=jQuery("").addClass("mb_YTVPTime");
var vURL=data.videoURL;
if(vURL.indexOf("http") < 0)
vURL="http://www.youtube.com/watch?v="+data.videoURL;
var movieUrl=jQuery("").html(jQuery.mbYTPlayer.controls.ytLogo).addClass("mb_YTVPUrl ytpicon").attr("title", "view on YouTube").on("click", function (){window.open(vURL, "viewOnYT")});
var onlyVideo=jQuery("").html(jQuery.mbYTPlayer.controls.onlyYT).addClass("mb_OnlyYT ytpicon").on("click",function (){jQuery(YTPlayer).fullscreen(data.realfullscreen);});
var progressBar=jQuery("").addClass("mb_YTVPProgress").css("position", "absolute").click(function (e){
timeBar.css({width: (e.clientX - timeBar.offset().left)});
YTPlayer.timeW=e.clientX - timeBar.offset().left;
controlBar.find(".mb_YTVPLoaded").css({width: 0});
var totalTime=Math.floor(YTPlayer.player.getDuration());
YTPlayer.goto=(timeBar.outerWidth() * totalTime) / progressBar.outerWidth();
YTPlayer.player.seekTo(parseFloat(YTPlayer.goto), true);
controlBar.find(".mb_YTVPLoaded").css({width: 0});
});
var loadedBar=jQuery("").addClass("mb_YTVPLoaded").css("position", "absolute");
var timeBar=jQuery("").addClass("mb_YTVTime").css("position", "absolute");
progressBar.append(loadedBar).append(timeBar);
buttonBar.append(playpause).append(MuteUnmute).append(idx);
if(data.printUrl){
buttonBar.append(movieUrl);
}
if(YTPlayer.isBackground||(YTPlayer.opt.realfullscreen&&!YTPlayer.isBackground))
buttonBar.append(onlyVideo);
controlBar.append(buttonBar).append(progressBar);
if(!YTPlayer.isBackground){
controlBar.addClass("inlinePlayer");
YTPlayer.wrapper.before(controlBar);
}else{
jQuery("body").after(controlBar);
}
controlBar.fadeIn();
},
checkForState:function(YTPlayer){
var controlBar=jQuery("#controlBar_" + YTPlayer.id);
var data=YTPlayer.opt;
var startAt=YTPlayer.opt.startAt ? YTPlayer.opt.startAt:1;
YTPlayer.getState=setInterval(function (){
var prog=jQuery(YTPlayer).manageYTPProgress();
controlBar.find(".mb_YTVPTime").html(jQuery.mbYTPlayer.formatTime(prog.currentTime) + " / " + jQuery.mbYTPlayer.formatTime(prog.totalTime));
if(parseFloat(YTPlayer.player.getDuration() - 3) < YTPlayer.player.getCurrentTime()&&YTPlayer.player.getPlayerState()==1&&!YTPlayer.isPlayList){
if(!data.loop){
YTPlayer.player.pauseVideo();
YTPlayer.wrapper.CSSAnimate({opacity: 0}, 2000,function(){
YTPlayer.player.seekTo(startAt);
if(!YTPlayer.isBackground){
var bgndURL=YTPlayer.videoData.thumbnail.hqDefault;
jQuery(YTPlayer).css({background: "rgba(0,0,0,0.5) url(" + bgndURL + ") center center", backgroundSize: "cover"});
}});
}else
YTPlayer.player.seekTo(startAt);
jQuery(YTPlayer).trigger("YTPEnd");
}}, 1);
},
formatTime:function (s){
var min=Math.floor(s / 60);
var sec=Math.floor(s - (60 * min));
return (min < 9 ? "0" + min:min) + ":" + (sec < 9 ? "0" + sec:sec);
}};
jQuery.fn.toggleVolume=function (){
var YTPlayer=this.get(0);
if(!YTPlayer)
return;
if(YTPlayer.player.isMuted()){
jQuery(YTPlayer).unmuteYTPVolume();
return true;
}else{
jQuery(YTPlayer).muteYTPVolume();
return false;
}};
jQuery.fn.optimizeDisplay=function (){
var YTPlayer=this.get(0);
var data=YTPlayer.opt;
var playerBox=jQuery(YTPlayer.playerEl);
var win={};
var el = !YTPlayer.isBackground ? data.containment:jQuery(window);
win.width=el.width();
win.height=el.height();
var margin=24;
var vid={};
vid.width=win.width + ((win.width * margin) / 100);
vid.height=data.ratio=="16/9" ? Math.ceil((9 * win.width) / 16):Math.ceil((3 * win.width) / 4);
vid.marginTop=-((vid.height - win.height) / 2);
vid.marginLeft=-((win.width * (margin / 2)) / 100);
if(vid.height < win.height){
vid.height=win.height + ((win.height * margin) / 100);
vid.width=data.ratio=="16/9" ? Math.floor((16 * win.height) / 9):Math.floor((4 * win.height) / 3);
vid.marginTop=-((win.height * (margin / 2)) / 100);
vid.marginLeft=-((vid.width - win.width) / 2);
}
playerBox.css({width: vid.width, height: vid.height, marginTop: vid.marginTop, marginLeft: vid.marginLeft});
};
jQuery.shuffle=function(arr){
var newArray=arr.slice();
var len=newArray.length;
var i=len;
while (i--){
var p=parseInt(Math.random()*len);
var t=newArray[i];
newArray[i]=newArray[p];
newArray[p]=t;
}
return newArray;
};
jQuery.fn.mb_YTPlayer=jQuery.mbYTPlayer.buildPlayer;
jQuery.fn.YTPlaylist=jQuery.mbYTPlayer.YTPlaylist;
jQuery.fn.playNext=jQuery.mbYTPlayer.playNext;
jQuery.fn.changeMovie=jQuery.mbYTPlayer.changeMovie;
jQuery.fn.getVideoID=jQuery.mbYTPlayer.getVideoID;
jQuery.fn.getPlayer=jQuery.mbYTPlayer.getPlayer;
jQuery.fn.playerDestroy=jQuery.mbYTPlayer.playerDestroy;
jQuery.fn.fullscreen=jQuery.mbYTPlayer.fullscreen;
jQuery.fn.buildYTPControls=jQuery.mbYTPlayer.buildYTPControls;
jQuery.fn.playYTP=jQuery.mbYTPlayer.playYTP;
jQuery.fn.toggleLoops=jQuery.mbYTPlayer.toggleLoops;
jQuery.fn.stopYTP=jQuery.mbYTPlayer.stopYTP;
jQuery.fn.pauseYTP=jQuery.mbYTPlayer.pauseYTP;
jQuery.fn.muteYTPVolume=jQuery.mbYTPlayer.muteYTPVolume;
jQuery.fn.unmuteYTPVolume=jQuery.mbYTPlayer.unmuteYTPVolume;
jQuery.fn.setYTPVolume=jQuery.mbYTPlayer.setYTPVolume;
jQuery.fn.setVideoQuality=jQuery.mbYTPlayer.setVideoQuality;
jQuery.fn.manageYTPProgress=jQuery.mbYTPlayer.manageYTPProgress;
})(jQuery);
;(function ($){
var eventNamespace='waitForImages';
$.waitForImages={
hasImageProperties: ['backgroundImage', 'listStyleImage', 'borderImage', 'borderCornerImage', 'cursor']
};
$.expr[':'].uncached=function (obj){
if(!$(obj).is('img[src!=""]')){
return false;
}
var img=new Image();
img.src=obj.src;
return !img.complete;
};
$.fn.waitForImages=function (finishedCallback, eachCallback, waitForAll){
var allImgsLength=0;
var allImgsLoaded=0;
if($.isPlainObject(arguments[0])){
waitForAll=arguments[0].waitForAll;
eachCallback=arguments[0].each;
finishedCallback=arguments[0].finished;
}
finishedCallback=finishedCallback||$.noop;
eachCallback=eachCallback||$.noop;
waitForAll = !! waitForAll;
if(!$.isFunction(finishedCallback)||!$.isFunction(eachCallback)){
throw new TypeError('An invalid callback was supplied.');
}
return this.each(function (){
var obj=$(this);
var allImgs=[];
var hasImgProperties=$.waitForImages.hasImageProperties||[];
var matchUrl=/url\(\s*(['"]?)(.*?)\1\s*\)/g;
if(waitForAll){
obj.find('*').addBack().each(function (){
var element=$(this);
if(element.is('img:uncached')){
allImgs.push({
src: element.attr('src'),
element: element[0]
});
}
$.each(hasImgProperties, function (i, property){
var propertyValue=element.css(property);
var match;
if(!propertyValue){
return true;
}
while (match=matchUrl.exec(propertyValue)){
allImgs.push({
src: match[2],
element: element[0]
});
}});
});
}else{
obj.find('img:uncached')
.each(function (){
allImgs.push({
src: this.src,
element: this
});
});
}
allImgsLength=allImgs.length;
allImgsLoaded=0;
if(allImgsLength===0){
finishedCallback.call(obj[0]);
}
$.each(allImgs, function (i, img){
var image=new Image();
$(image).on('load.' + eventNamespace + ' error.' + eventNamespace, function (event){
allImgsLoaded++;
eachCallback.call(img.element, allImgsLoaded, allImgsLength, event.type=='load');
if(allImgsLoaded==allImgsLength){
finishedCallback.call(obj[0]);
return false;
}});
image.src=img.src;
});
});
};}(jQuery));
;
(function ($){
$.flexslider=function(el, options){
var slider=$(el);
slider.vars=$.extend({}, $.flexslider.defaults, options);
var namespace=slider.vars.namespace,
msGesture=window.navigator&&window.navigator.msPointerEnabled&&window.MSGesture,
touch=(("ontouchstart" in window)||msGesture||window.DocumentTouch&&document instanceof DocumentTouch)&&slider.vars.touch,
eventType="click touchend MSPointerUp",
watchedEvent="",
watchedEventClearTimer,
vertical=slider.vars.direction==="vertical",
reverse=slider.vars.reverse,
carousel=(slider.vars.itemWidth > 0),
fade=slider.vars.animation==="fade",
asNav=slider.vars.asNavFor!=="",
methods={},
focused=true;
$.data(el, "flexslider", slider);
methods={
init: function(){
slider.animating=false;
slider.currentSlide=parseInt(( slider.vars.startAt ? slider.vars.startAt:0));
if(isNaN(slider.currentSlide)) slider.currentSlide=0;
slider.animatingTo=slider.currentSlide;
slider.atEnd=(slider.currentSlide===0||slider.currentSlide===slider.last);
slider.containerSelector=slider.vars.selector.substr(0,slider.vars.selector.search(' '));
slider.slides=$(slider.vars.selector, slider);
slider.container=$(slider.containerSelector, slider);
slider.count=slider.slides.length;
slider.syncExists=$(slider.vars.sync).length > 0;
if(slider.vars.animation==="slide") slider.vars.animation="swing";
slider.prop=(vertical) ? "top":"marginLeft";
slider.args={};
slider.manualPause=false;
slider.stopped=false;
slider.started=false;
slider.startTimeout=null;
slider.transitions = !slider.vars.video&&!fade&&slider.vars.useCSS&&(function(){
var obj=document.createElement('div'),
props=['perspectiveProperty', 'WebkitPerspective', 'MozPerspective', 'OPerspective', 'msPerspective'];
for (var i in props){
if(obj.style[ props[i] ]!==undefined){
slider.pfx=props[i].replace('Perspective','').toLowerCase();
slider.prop="-" + slider.pfx + "-transform";
return true;
}}
return false;
}());
if(slider.vars.controlsContainer!=="") slider.controlsContainer=$(slider.vars.controlsContainer).length > 0&&$(slider.vars.controlsContainer);
if(slider.vars.manualControls!=="") slider.manualControls=$(slider.vars.manualControls).length > 0&&$(slider.vars.manualControls);
if(slider.vars.randomize){
slider.slides.sort(function(){ return (Math.round(Math.random())-0.5); });
slider.container.empty().append(slider.slides);
}
slider.doMath();
slider.setup("init");
if(slider.vars.controlNav) methods.controlNav.setup();
if(slider.vars.directionNav) methods.directionNav.setup();
if(slider.vars.keyboard&&($(slider.containerSelector).length===1||slider.vars.multipleKeyboard)){
$(document).bind('keyup', function(event){
var keycode=event.keyCode;
if(!slider.animating&&(keycode===39||keycode===37)){
var target=(keycode===39) ? slider.getTarget('next') :
(keycode===37) ? slider.getTarget('prev'):false;
slider.flexAnimate(target, slider.vars.pauseOnAction);
}});
}
if(slider.vars.mousewheel){
slider.bind('mousewheel', function(event, delta, deltaX, deltaY){
event.preventDefault();
var target=(delta < 0) ? slider.getTarget('next'):slider.getTarget('prev');
slider.flexAnimate(target, slider.vars.pauseOnAction);
});
}
if(slider.vars.pausePlay) methods.pausePlay.setup();
if(slider.vars.slideshow&&slider.vars.pauseInvisible) methods.pauseInvisible.init();
if(slider.vars.slideshow){
if(slider.vars.pauseOnHover){
slider.hover(function(){
if(!slider.manualPlay&&!slider.manualPause) slider.pause();
}, function(){
if(!slider.manualPause&&!slider.manualPlay&&!slider.stopped) slider.play();
});
}
if(!slider.vars.pauseInvisible||!methods.pauseInvisible.isHidden()){
(slider.vars.initDelay > 0) ? slider.startTimeout=setTimeout(slider.play, slider.vars.initDelay):slider.play();
}}
if(asNav) methods.asNav.setup();
if(touch&&slider.vars.touch) methods.touch();
if(!fade||(fade&&slider.vars.smoothHeight)) $(window).bind("resize orientationchange focus", methods.resize);
slider.find("img").attr("draggable", "false");
setTimeout(function(){
slider.vars.start(slider);
}, 200);
},
asNav: {
setup: function(){
slider.asNav=true;
slider.animatingTo=Math.floor(slider.currentSlide/slider.move);
slider.currentItem=slider.currentSlide;
slider.slides.removeClass(namespace + "active-slide").eq(slider.currentItem).addClass(namespace + "active-slide");
if(!msGesture){
slider.slides.click(function(e){
e.preventDefault();
var $slide=$(this),
target=$slide.index();
var posFromLeft=$slide.offset().left - $(slider).scrollLeft();
if(posFromLeft <=0&&$slide.hasClass(namespace + 'active-slide')){
slider.flexAnimate(slider.getTarget("prev"), true);
}else if(!$(slider.vars.asNavFor).data('flexslider').animating&&!$slide.hasClass(namespace + "active-slide")){
slider.direction=(slider.currentItem < target) ? "next":"prev";
slider.flexAnimate(target, slider.vars.pauseOnAction, false, true, true);
}});
}else{
el._slider=slider;
slider.slides.each(function (){
var that=this;
that._gesture=new MSGesture();
that._gesture.target=that;
that.addEventListener("MSPointerDown", function (e){
e.preventDefault();
if(e.currentTarget._gesture)
e.currentTarget._gesture.addPointer(e.pointerId);
}, false);
that.addEventListener("MSGestureTap", function (e){
e.preventDefault();
var $slide=$(this),
target=$slide.index();
if(!$(slider.vars.asNavFor).data('flexslider').animating&&!$slide.hasClass('active')){
slider.direction=(slider.currentItem < target) ? "next":"prev";
slider.flexAnimate(target, slider.vars.pauseOnAction, false, true, true);
}});
});
}}
},
controlNav: {
setup: function(){
if(!slider.manualControls){
methods.controlNav.setupPaging();
}else{
methods.controlNav.setupManual();
}},
setupPaging: function(){
var type=(slider.vars.controlNav==="thumbnails") ? 'control-thumbs':'control-paging',
j=1,
item,
slide;
slider.controlNavScaffold=$('
');
if(slider.pagingCount > 1){
for (var i=0; i < slider.pagingCount; i++){
slide=slider.slides.eq(i);
item=(slider.vars.controlNav==="thumbnails") ? '':'' + j + '';
if('thumbnails'===slider.vars.controlNav&&true===slider.vars.thumbCaptions){
var captn=slide.attr('data-thumbcaption');
if(''!=captn&&undefined!=captn) item +='' + captn + '';
}
slider.controlNavScaffold.append('' + item + '');
j++;
}}
(slider.controlsContainer) ? $(slider.controlsContainer).append(slider.controlNavScaffold):slider.append(slider.controlNavScaffold);
methods.controlNav.set();
methods.controlNav.active();
slider.controlNavScaffold.delegate('a, img', eventType, function(event){
event.preventDefault();
if(watchedEvent===""||watchedEvent===event.type){
var $this=$(this),
target=slider.controlNav.index($this);
if(!$this.hasClass(namespace + 'active')){
slider.direction=(target > slider.currentSlide) ? "next":"prev";
slider.flexAnimate(target, slider.vars.pauseOnAction);
}}
if(watchedEvent===""){
watchedEvent=event.type;
}
methods.setToClearWatchedEvent();
});
},
setupManual: function(){
slider.controlNav=slider.manualControls;
methods.controlNav.active();
slider.controlNav.bind(eventType, function(event){
event.preventDefault();
if(watchedEvent===""||watchedEvent===event.type){
var $this=$(this),
target=slider.controlNav.index($this);
if(!$this.hasClass(namespace + 'active')){
(target > slider.currentSlide) ? slider.direction="next":slider.direction="prev";
slider.flexAnimate(target, slider.vars.pauseOnAction);
}}
if(watchedEvent===""){
watchedEvent=event.type;
}
methods.setToClearWatchedEvent();
});
},
set: function(){
var selector=(slider.vars.controlNav==="thumbnails") ? 'img':'a';
slider.controlNav=$('.' + namespace + 'control-nav li ' + selector, (slider.controlsContainer) ? slider.controlsContainer:slider);
},
active: function(){
slider.controlNav.removeClass(namespace + "active").eq(slider.animatingTo).addClass(namespace + "active");
},
update: function(action, pos){
if(slider.pagingCount > 1&&action==="add"){
slider.controlNavScaffold.append($('' + slider.count + ''));
}else if(slider.pagingCount===1){
slider.controlNavScaffold.find('li').remove();
}else{
slider.controlNav.eq(pos).closest('li').remove();
}
methods.controlNav.set();
(slider.pagingCount > 1&&slider.pagingCount!==slider.controlNav.length) ? slider.update(pos, action):methods.controlNav.active();
}},
directionNav: {
setup: function(){
var directionNavScaffold=$('');
if(slider.controlsContainer){
$(slider.controlsContainer).append(directionNavScaffold);
slider.directionNav=$('.' + namespace + 'direction-nav li a', slider.controlsContainer);
}else{
slider.append(directionNavScaffold);
slider.directionNav=$('.' + namespace + 'direction-nav li a', slider);
}
methods.directionNav.update();
slider.directionNav.bind(eventType, function(event){
event.preventDefault();
var target;
if(watchedEvent===""||watchedEvent===event.type){
target=($(this).hasClass(namespace + 'next')) ? slider.getTarget('next'):slider.getTarget('prev');
slider.flexAnimate(target, slider.vars.pauseOnAction);
}
if(watchedEvent===""){
watchedEvent=event.type;
}
methods.setToClearWatchedEvent();
});
},
update: function(){
var disabledClass=namespace + 'disabled';
if(slider.pagingCount===1){
slider.directionNav.addClass(disabledClass).attr('tabindex', '-1');
}else if(!slider.vars.animationLoop){
if(slider.animatingTo===0){
slider.directionNav.removeClass(disabledClass).filter('.' + namespace + "prev").addClass(disabledClass).attr('tabindex', '-1');
}else if(slider.animatingTo===slider.last){
slider.directionNav.removeClass(disabledClass).filter('.' + namespace + "next").addClass(disabledClass).attr('tabindex', '-1');
}else{
slider.directionNav.removeClass(disabledClass).removeAttr('tabindex');
}}else{
slider.directionNav.removeClass(disabledClass).removeAttr('tabindex');
}}
},
pausePlay: {
setup: function(){
var pausePlayScaffold=$('');
if(slider.controlsContainer){
slider.controlsContainer.append(pausePlayScaffold);
slider.pausePlay=$('.' + namespace + 'pauseplay a', slider.controlsContainer);
}else{
slider.append(pausePlayScaffold);
slider.pausePlay=$('.' + namespace + 'pauseplay a', slider);
}
methods.pausePlay.update((slider.vars.slideshow) ? namespace + 'pause':namespace + 'play');
slider.pausePlay.bind(eventType, function(event){
event.preventDefault();
if(watchedEvent===""||watchedEvent===event.type){
if($(this).hasClass(namespace + 'pause')){
slider.manualPause=true;
slider.manualPlay=false;
slider.pause();
}else{
slider.manualPause=false;
slider.manualPlay=true;
slider.play();
}}
if(watchedEvent===""){
watchedEvent=event.type;
}
methods.setToClearWatchedEvent();
});
},
update: function(state){
(state==="play") ? slider.pausePlay.removeClass(namespace + 'pause').addClass(namespace + 'play').html(slider.vars.playText):slider.pausePlay.removeClass(namespace + 'play').addClass(namespace + 'pause').html(slider.vars.pauseText);
}},
touch: function(){
var startX,
startY,
offset,
cwidth,
dx,
startT,
scrolling=false,
localX=0,
localY=0,
accDx=0;
if(!msGesture){
el.addEventListener('touchstart', onTouchStart, false);
function onTouchStart(e){
if(slider.animating){
e.preventDefault();
}else if(( window.navigator.msPointerEnabled)||e.touches.length===1){
slider.pause();
cwidth=(vertical) ? slider.h:slider. w;
startT=Number(new Date());
localX=e.touches[0].pageX;
localY=e.touches[0].pageY;
offset=(carousel&&reverse&&slider.animatingTo===slider.last) ? 0 :
(carousel&&reverse) ? slider.limit - (((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.animatingTo) :
(carousel&&slider.currentSlide===slider.last) ? slider.limit :
(carousel) ? ((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.currentSlide :
(reverse) ? (slider.last - slider.currentSlide + slider.cloneOffset) * cwidth:(slider.currentSlide + slider.cloneOffset) * cwidth;
startX=(vertical) ? localY:localX;
startY=(vertical) ? localX:localY;
el.addEventListener('touchmove', onTouchMove, false);
el.addEventListener('touchend', onTouchEnd, false);
}}
function onTouchMove(e){
localX=e.touches[0].pageX;
localY=e.touches[0].pageY;
dx=(vertical) ? startX - localY:startX - localX;
scrolling=(vertical) ? (Math.abs(dx) < Math.abs(localX - startY)):(Math.abs(dx) < Math.abs(localY - startY));
var fxms=500;
if(! scrolling||Number(new Date()) - startT > fxms){
e.preventDefault();
if(!fade&&slider.transitions){
if(!slider.vars.animationLoop){
dx=dx/((slider.currentSlide===0&&dx < 0||slider.currentSlide===slider.last&&dx > 0) ? (Math.abs(dx)/cwidth+2):1);
}
slider.setProps(offset + dx, "setTouch");
}}
}
function onTouchEnd(e){
el.removeEventListener('touchmove', onTouchMove, false);
if(slider.animatingTo===slider.currentSlide&&!scrolling&&!(dx===null)){
var updateDx=(reverse) ? -dx:dx,
target=(updateDx > 0) ? slider.getTarget('next'):slider.getTarget('prev');
if(slider.canAdvance(target)&&(Number(new Date()) - startT < 550&&Math.abs(updateDx) > 50||Math.abs(updateDx) > cwidth/2)){
slider.flexAnimate(target, slider.vars.pauseOnAction);
}else{
if(!fade) slider.flexAnimate(slider.currentSlide, slider.vars.pauseOnAction, true);
}}
el.removeEventListener('touchend', onTouchEnd, false);
startX=null;
startY=null;
dx=null;
offset=null;
}}else{
el.style.msTouchAction="none";
el._gesture=new MSGesture();
el._gesture.target=el;
el.addEventListener("MSPointerDown", onMSPointerDown, false);
el._slider=slider;
el.addEventListener("MSGestureChange", onMSGestureChange, false);
el.addEventListener("MSGestureEnd", onMSGestureEnd, false);
function onMSPointerDown(e){
e.stopPropagation();
if(slider.animating){
e.preventDefault();
}else{
slider.pause();
el._gesture.addPointer(e.pointerId);
accDx=0;
cwidth=(vertical) ? slider.h:slider. w;
startT=Number(new Date());
offset=(carousel&&reverse&&slider.animatingTo===slider.last) ? 0 :
(carousel&&reverse) ? slider.limit - (((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.animatingTo) :
(carousel&&slider.currentSlide===slider.last) ? slider.limit :
(carousel) ? ((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.currentSlide :
(reverse) ? (slider.last - slider.currentSlide + slider.cloneOffset) * cwidth:(slider.currentSlide + slider.cloneOffset) * cwidth;
}}
function onMSGestureChange(e){
e.stopPropagation();
var slider=e.target._slider;
if(!slider){
return;
}
var transX=-e.translationX,
transY=-e.translationY;
accDx=accDx + ((vertical) ? transY:transX);
dx=accDx;
scrolling=(vertical) ? (Math.abs(accDx) < Math.abs(-transX)):(Math.abs(accDx) < Math.abs(-transY));
if(e.detail===e.MSGESTURE_FLAG_INERTIA){
setImmediate(function (){
el._gesture.stop();
});
return;
}
if(!scrolling||Number(new Date()) - startT > 500){
e.preventDefault();
if(!fade&&slider.transitions){
if(!slider.vars.animationLoop){
dx=accDx / ((slider.currentSlide===0&&accDx < 0||slider.currentSlide===slider.last&&accDx > 0) ? (Math.abs(accDx) / cwidth + 2):1);
}
slider.setProps(offset + dx, "setTouch");
}}
}
function onMSGestureEnd(e){
e.stopPropagation();
var slider=e.target._slider;
if(!slider){
return;
}
if(slider.animatingTo===slider.currentSlide&&!scrolling&&!(dx===null)){
var updateDx=(reverse) ? -dx:dx,
target=(updateDx > 0) ? slider.getTarget('next'):slider.getTarget('prev');
if(slider.canAdvance(target)&&(Number(new Date()) - startT < 550&&Math.abs(updateDx) > 50||Math.abs(updateDx) > cwidth/2)){
slider.flexAnimate(target, slider.vars.pauseOnAction);
}else{
if(!fade) slider.flexAnimate(slider.currentSlide, slider.vars.pauseOnAction, true);
}}
startX=null;
startY=null;
dx=null;
offset=null;
accDx=0;
}}
},
resize: function(){
if(!slider.animating&&slider.is(':visible')){
if(!carousel) slider.doMath();
if(fade){
methods.smoothHeight();
}else if(carousel){
slider.slides.width(slider.computedW);
slider.update(slider.pagingCount);
slider.setProps();
}
else if(vertical){
slider.viewport.height(slider.h);
slider.setProps(slider.h, "setTotal");
}else{
if(slider.vars.smoothHeight) methods.smoothHeight();
slider.newSlides.width(slider.computedW);
slider.setProps(slider.computedW, "setTotal");
}}
},
smoothHeight: function(dur){
if(!vertical||fade){
var $obj=(fade) ? slider:slider.viewport;
(dur) ? $obj.animate({"height": slider.slides.eq(slider.animatingTo).height()}, dur):$obj.height(slider.slides.eq(slider.animatingTo).height());
}},
sync: function(action){
var $obj=$(slider.vars.sync).data("flexslider"),
target=slider.animatingTo;
switch (action){
case "animate": $obj.flexAnimate(target, slider.vars.pauseOnAction, false, true); break;
case "play": if(!$obj.playing&&!$obj.asNav){ $obj.play(); } break;
case "pause": $obj.pause(); break;
}},
pauseInvisible: {
visProp: null,
init: function(){
var prefixes=['webkit','moz','ms','o'];
if('hidden' in document) return 'hidden';
for (var i=0; i < prefixes.length; i++){
if((prefixes[i] + 'Hidden') in document)
methods.pauseInvisible.visProp=prefixes[i] + 'Hidden';
}
if(methods.pauseInvisible.visProp){
var evtname=methods.pauseInvisible.visProp.replace(/[H|h]idden/,'') + 'visibilitychange';
document.addEventListener(evtname, function(){
if(methods.pauseInvisible.isHidden()){
if(slider.startTimeout) clearTimeout(slider.startTimeout);
else slider.pause();
}else{
if(slider.started) slider.play();
else (slider.vars.initDelay > 0) ? setTimeout(slider.play, slider.vars.initDelay):slider.play();
}});
}},
isHidden: function(){
return document[methods.pauseInvisible.visProp]||false;
}},
setToClearWatchedEvent: function(){
clearTimeout(watchedEventClearTimer);
watchedEventClearTimer=setTimeout(function(){
watchedEvent="";
}, 3000);
}}
slider.flexAnimate=function(target, pause, override, withSync, fromNav){
if(!slider.vars.animationLoop&&target!==slider.currentSlide){
slider.direction=(target > slider.currentSlide) ? "next":"prev";
}
if(asNav&&slider.pagingCount===1) slider.direction=(slider.currentItem < target) ? "next":"prev";
if(!slider.animating&&(slider.canAdvance(target, fromNav)||override)&&slider.is(":visible")){
if(asNav&&withSync){
var master=$(slider.vars.asNavFor).data('flexslider');
slider.atEnd=target===0||target===slider.count - 1;
master.flexAnimate(target, true, false, true, fromNav);
slider.direction=(slider.currentItem < target) ? "next":"prev";
master.direction=slider.direction;
if(Math.ceil((target + 1)/slider.visible) - 1!==slider.currentSlide&&target!==0){
slider.currentItem=target;
slider.slides.removeClass(namespace + "active-slide").eq(target).addClass(namespace + "active-slide");
target=Math.floor(target/slider.visible);
}else{
slider.currentItem=target;
slider.slides.removeClass(namespace + "active-slide").eq(target).addClass(namespace + "active-slide");
return false;
}}
slider.animating=true;
slider.animatingTo=target;
if(pause) slider.pause();
slider.vars.before(slider);
if(slider.syncExists&&!fromNav) methods.sync("animate");
if(slider.vars.controlNav) methods.controlNav.active();
if(!carousel) slider.slides.removeClass(namespace + 'active-slide').eq(target).addClass(namespace + 'active-slide');
slider.atEnd=target===0||target===slider.last;
if(slider.vars.directionNav) methods.directionNav.update();
if(target===slider.last){
slider.vars.end(slider);
if(!slider.vars.animationLoop) slider.pause();
}
if(!fade){
var dimension=(vertical) ? slider.slides.filter(':first').height():slider.computedW,
margin, slideString, calcNext;
if(carousel){
margin=slider.vars.itemMargin;
calcNext=((slider.itemW + margin) * slider.move) * slider.animatingTo;
slideString=(calcNext > slider.limit&&slider.visible!==1) ? slider.limit:calcNext;
}else if(slider.currentSlide===0&&target===slider.count - 1&&slider.vars.animationLoop&&slider.direction!=="next"){
slideString=(reverse) ? (slider.count + slider.cloneOffset) * dimension:0;
}else if(slider.currentSlide===slider.last&&target===0&&slider.vars.animationLoop&&slider.direction!=="prev"){
slideString=(reverse) ? 0:(slider.count + 1) * dimension;
}else{
slideString=(reverse) ? ((slider.count - 1) - target + slider.cloneOffset) * dimension:(target + slider.cloneOffset) * dimension;
}
slider.setProps(slideString, "", slider.vars.animationSpeed);
if(slider.transitions){
if(!slider.vars.animationLoop||!slider.atEnd){
slider.animating=false;
slider.currentSlide=slider.animatingTo;
}
slider.container.unbind("webkitTransitionEnd transitionend");
slider.container.bind("webkitTransitionEnd transitionend", function(){
slider.wrapup(dimension);
});
}else{
slider.container.animate(slider.args, slider.vars.animationSpeed, slider.vars.easing, function(){
slider.wrapup(dimension);
});
}}else{
if(!touch){
slider.slides.eq(slider.currentSlide).css({"zIndex": 1}).animate({"opacity": 0}, slider.vars.animationSpeed, slider.vars.easing);
slider.slides.eq(target).css({"zIndex": 2}).animate({"opacity": 1}, slider.vars.animationSpeed, slider.vars.easing, slider.wrapup);
}else{
slider.slides.eq(slider.currentSlide).css({ "opacity": 0, "zIndex": 1 });
slider.slides.eq(target).css({ "opacity": 1, "zIndex": 2 });
slider.wrapup(dimension);
}}
if(slider.vars.smoothHeight) methods.smoothHeight(slider.vars.animationSpeed);
}}
slider.wrapup=function(dimension){
if(!fade&&!carousel){
if(slider.currentSlide===0&&slider.animatingTo===slider.last&&slider.vars.animationLoop){
slider.setProps(dimension, "jumpEnd");
}else if(slider.currentSlide===slider.last&&slider.animatingTo===0&&slider.vars.animationLoop){
slider.setProps(dimension, "jumpStart");
}}
slider.animating=false;
slider.currentSlide=slider.animatingTo;
slider.vars.after(slider);
}
slider.animateSlides=function(){
if(!slider.animating&&focused) slider.flexAnimate(slider.getTarget("next"));
}
slider.pause=function(){
clearInterval(slider.animatedSlides);
slider.animatedSlides=null;
slider.playing=false;
if(slider.vars.pausePlay) methods.pausePlay.update("play");
if(slider.syncExists) methods.sync("pause");
}
slider.play=function(){
if(slider.playing) clearInterval(slider.animatedSlides);
slider.animatedSlides=slider.animatedSlides||setInterval(slider.animateSlides, slider.vars.slideshowSpeed);
slider.started=slider.playing=true;
if(slider.vars.pausePlay) methods.pausePlay.update("pause");
if(slider.syncExists) methods.sync("play");
}
slider.stop=function (){
slider.pause();
slider.stopped=true;
}
slider.canAdvance=function(target, fromNav){
var last=(asNav) ? slider.pagingCount - 1:slider.last;
return (fromNav) ? true :
(asNav&&slider.currentItem===slider.count - 1&&target===0&&slider.direction==="prev") ? true :
(asNav&&slider.currentItem===0&&target===slider.pagingCount - 1&&slider.direction!=="next") ? false :
(target===slider.currentSlide&&!asNav) ? false :
(slider.vars.animationLoop) ? true :
(slider.atEnd&&slider.currentSlide===0&&target===last&&slider.direction!=="next") ? false :
(slider.atEnd&&slider.currentSlide===last&&target===0&&slider.direction==="next") ? false :
true;
}
slider.getTarget=function(dir){
slider.direction=dir;
if(dir==="next"){
return (slider.currentSlide===slider.last) ? 0:slider.currentSlide + 1;
}else{
return (slider.currentSlide===0) ? slider.last:slider.currentSlide - 1;
}}
slider.setProps=function(pos, special, dur){
var target=(function(){
var posCheck=(pos) ? pos:((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.animatingTo,
posCalc=(function(){
if(carousel){
return (special==="setTouch") ? pos :
(reverse&&slider.animatingTo===slider.last) ? 0 :
(reverse) ? slider.limit - (((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.animatingTo) :
(slider.animatingTo===slider.last) ? slider.limit:posCheck;
}else{
switch (special){
case "setTotal": return (reverse) ? ((slider.count - 1) - slider.currentSlide + slider.cloneOffset) * pos:(slider.currentSlide + slider.cloneOffset) * pos;
case "setTouch": return (reverse) ? pos:pos;
case "jumpEnd": return (reverse) ? pos:slider.count * pos;
case "jumpStart": return (reverse) ? slider.count * pos:pos;
default: return pos;
}}
}());
return (posCalc * -1) + "px";
}());
if(slider.transitions){
target=(vertical) ? "translate3d(0," + target + ",0)":"translate3d(" + target + ",0,0)";
dur=(dur!==undefined) ? (dur/1000) + "s":"0s";
slider.container.css("-" + slider.pfx + "-transition-duration", dur);
}
slider.args[slider.prop]=target;
if(slider.transitions||dur===undefined) slider.container.css(slider.args);
}
slider.setup=function(type){
if(!fade){
var sliderOffset, arr;
if(type==="init"){
slider.viewport=$('').css({"overflow": "hidden", "position": "relative"}).appendTo(slider).append(slider.container);
slider.cloneCount=0;
slider.cloneOffset=0;
if(reverse){
arr=$.makeArray(slider.slides).reverse();
slider.slides=$(arr);
slider.container.empty().append(slider.slides);
}}
if(slider.vars.animationLoop&&!carousel){
slider.cloneCount=2;
slider.cloneOffset=1;
if(type!=="init") slider.container.find('.clone').remove();
slider.container.append(slider.slides.first().clone().addClass('clone').attr('aria-hidden', 'true')).prepend(slider.slides.last().clone().addClass('clone').attr('aria-hidden', 'true'));
}
slider.newSlides=$(slider.vars.selector, slider);
sliderOffset=(reverse) ? slider.count - 1 - slider.currentSlide + slider.cloneOffset:slider.currentSlide + slider.cloneOffset;
if(vertical&&!carousel){
slider.container.height((slider.count + slider.cloneCount) * 200 + "%").css("position", "absolute").width("100%");
setTimeout(function(){
slider.newSlides.css({"display": "block"});
slider.doMath();
slider.viewport.height(slider.h);
slider.setProps(sliderOffset * slider.h, "init");
}, (type==="init") ? 100:0);
}else{
slider.container.width((slider.count + slider.cloneCount) * 200 + "%");
slider.setProps(sliderOffset * slider.computedW, "init");
setTimeout(function(){
slider.doMath();
slider.newSlides.css({"width": slider.computedW, "float": "left", "display": "block"});
if(slider.vars.smoothHeight) methods.smoothHeight();
}, (type==="init") ? 100:0);
}}else{
slider.slides.css({"width": "100%", "float": "left", "marginRight": "-100%", "position": "relative"});
if(type==="init"){
if(!touch){
slider.slides.css({ "opacity": 0, "display": "block", "zIndex": 1 }).eq(slider.currentSlide).css({"zIndex": 2}).animate({"opacity": 1},slider.vars.animationSpeed,slider.vars.easing);
}else{
slider.slides.css({ "opacity": 0, "display": "block", "webkitTransition": "opacity " + slider.vars.animationSpeed / 1000 + "s ease", "zIndex": 1 }).eq(slider.currentSlide).css({ "opacity": 1, "zIndex": 2});
}}
if(slider.vars.smoothHeight) methods.smoothHeight();
}
if(!carousel) slider.slides.removeClass(namespace + "active-slide").eq(slider.currentSlide).addClass(namespace + "active-slide");
}
slider.doMath=function(){
var slide=slider.slides.first(),
slideMargin=slider.vars.itemMargin,
minItems=slider.vars.minItems,
maxItems=slider.vars.maxItems;
slider.w=(slider.viewport===undefined) ? slider.width():slider.viewport.width();
slider.h=slide.height();
slider.boxPadding=slide.outerWidth() - slide.width();
if(carousel){
slider.itemT=slider.vars.itemWidth + slideMargin;
slider.minW=(minItems) ? minItems * slider.itemT:slider.w;
slider.maxW=(maxItems) ? (maxItems * slider.itemT) - slideMargin:slider.w;
slider.itemW=(slider.minW > slider.w) ? (slider.w - (slideMargin * (minItems - 1)))/minItems :
(slider.maxW < slider.w) ? (slider.w - (slideMargin * (maxItems - 1)))/maxItems :
(slider.vars.itemWidth > slider.w) ? slider.w:slider.vars.itemWidth;
slider.visible=Math.floor(slider.w/(slider.itemW));
slider.move=(slider.vars.move > 0&&slider.vars.move < slider.visible) ? slider.vars.move:slider.visible;
slider.pagingCount=Math.ceil(((slider.count - slider.visible)/slider.move) + 1);
slider.last=slider.pagingCount - 1;
slider.limit=(slider.pagingCount===1) ? 0 :
(slider.vars.itemWidth > slider.w) ? (slider.itemW * (slider.count - 1)) + (slideMargin * (slider.count - 1)):((slider.itemW + slideMargin) * slider.count) - slider.w - slideMargin;
}else{
slider.itemW=slider.w;
slider.pagingCount=slider.count;
slider.last=slider.count - 1;
}
slider.computedW=slider.itemW - slider.boxPadding;
}
slider.update=function(pos, action){
slider.doMath();
if(!carousel){
if(pos < slider.currentSlide){
slider.currentSlide +=1;
}else if(pos <=slider.currentSlide&&pos!==0){
slider.currentSlide -=1;
}
slider.animatingTo=slider.currentSlide;
}
if(slider.vars.controlNav&&!slider.manualControls){
if((action==="add"&&!carousel)||slider.pagingCount > slider.controlNav.length){
methods.controlNav.update("add");
}else if((action==="remove"&&!carousel)||slider.pagingCount < slider.controlNav.length){
if(carousel&&slider.currentSlide > slider.last){
slider.currentSlide -=1;
slider.animatingTo -=1;
}
methods.controlNav.update("remove", slider.last);
}}
if(slider.vars.directionNav) methods.directionNav.update();
}
slider.addSlide=function(obj, pos){
var $obj=$(obj);
slider.count +=1;
slider.last=slider.count - 1;
if(vertical&&reverse){
(pos!==undefined) ? slider.slides.eq(slider.count - pos).after($obj):slider.container.prepend($obj);
}else{
(pos!==undefined) ? slider.slides.eq(pos).before($obj):slider.container.append($obj);
}
slider.update(pos, "add");
slider.slides=$(slider.vars.selector + ':not(.clone)', slider);
slider.setup();
slider.vars.added(slider);
}
slider.removeSlide=function(obj){
var pos=(isNaN(obj)) ? slider.slides.index($(obj)):obj;
slider.count -=1;
slider.last=slider.count - 1;
if(isNaN(obj)){
$(obj, slider.slides).remove();
}else{
(vertical&&reverse) ? slider.slides.eq(slider.last).remove():slider.slides.eq(obj).remove();
}
slider.doMath();
slider.update(pos, "remove");
slider.slides=$(slider.vars.selector + ':not(.clone)', slider);
slider.setup();
slider.vars.removed(slider);
}
methods.init();
}
$(window).blur(function(e){
focused=false;
}).focus(function(e){
focused=true;
});
$.flexslider.defaults={
namespace: "flex-",
selector: ".slides > li",
animation: "fade",
easing: "swing",
direction: "horizontal",
reverse: false,
animationLoop: true,
smoothHeight: false,
startAt: 0,
slideshow: true,
slideshowSpeed: 7000,
animationSpeed: 600,
initDelay: 0,
randomize: false,
thumbCaptions: false,
pauseOnAction: true,
pauseOnHover: false,
pauseInvisible: true,
useCSS: true,
touch: true,
video: false,
controlNav: true,
directionNav: true,
prevText: "",
nextText: "",
keyboard: true,
multipleKeyboard: false,
mousewheel: false,
pausePlay: false,
pauseText: "Pause",
playText: "Play",
controlsContainer: "",
manualControls: "",
sync: "",
asNavFor: "",
itemWidth: 0,
itemMargin: 0,
minItems: 1,
maxItems: 0,
move: 0,
allowOneSlide: true,
start: function(){},
before: function(){},
after: function(){},
end: function(){},
added: function(){},
removed: function(){}}
$.fn.flexslider=function(options){
if(options===undefined) options={};
if(typeof options==="object"){
return this.each(function(){
var $this=$(this),
selector=(options.selector) ? options.selector:".slides > li",
$slides=$this.find(selector);
if(( $slides.length===1&&options.allowOneSlide===true)||$slides.length===0){
$slides.fadeIn(400);
if(options.start) options.start($this);
}else if($this.data('flexslider')===undefined){
new $.flexslider(this, options);
}});
}else{
var $slider=$(this).data('flexslider');
switch (options){
case "play": $slider.play(); break;
case "pause": $slider.pause(); break;
case "stop": $slider.stop(); break;
case "next": $slider.flexAnimate($slider.getTarget("next"), true); break;
case "prev":
case "previous": $slider.flexAnimate($slider.getTarget("prev"), true); break;
default: if(typeof options==="number") $slider.flexAnimate(options, true);
}}
}})(jQuery);
(function($){function sc_setScroll(a,b,c){return"transition"==c.transition&&"swing"==b&&(b="ease"),{anims:[],duration:a,orgDuration:a,easing:b,startTime:getTime()}}function sc_startScroll(a,b){for(var c=0,d=a.anims.length;d>c;c++){var e=a.anims[c];e&&e[0][b.transition](e[1],a.duration,a.easing,e[2])}}function sc_stopScroll(a,b){is_boolean(b)||(b=!0),is_object(a.pre)&&sc_stopScroll(a.pre,b);for(var c=0,d=a.anims.length;d>c;c++){var e=a.anims[c];e[0].stop(!0),b&&(e[0].css(e[1]),is_function(e[2])&&e[2]())}is_object(a.post)&&sc_stopScroll(a.post,b)}function sc_afterScroll(a,b,c){switch(b&&b.remove(),c.fx){case"fade":case"crossfade":case"cover-fade":case"uncover-fade":a.css("opacity",1),a.css("filter","")}}function sc_fireCallbacks(a,b,c,d,e){if(b[c]&&b[c].call(a,d),e[c].length)for(var f=0,g=e[c].length;g>f;f++)e[c][f].call(a,d);return[]}function sc_fireQueue(a,b,c){return b.length&&(a.trigger(cf_e(b[0][0],c),b[0][1]),b.shift()),b}function sc_hideHiddenItems(a){a.each(function(){var a=$(this);a.data("_cfs_isHidden",a.is(":hidden")).hide()})}function sc_showHiddenItems(a){a&&a.each(function(){var a=$(this);a.data("_cfs_isHidden")||a.show()})}function sc_clearTimers(a){return a.auto&&clearTimeout(a.auto),a.progress&&clearInterval(a.progress),a}function sc_mapCallbackArguments(a,b,c,d,e,f,g){return{width:g.width,height:g.height,items:{old:a,skipped:b,visible:c},scroll:{items:d,direction:e,duration:f}}}function sc_getDuration(a,b,c,d){var e=a.duration;return"none"==a.fx?0:("auto"==e?e=b.scroll.duration/b.scroll.items*c:10>e&&(e=d/e),1>e?0:("fade"==a.fx&&(e/=2),Math.round(e)))}function nv_showNavi(a,b,c){var d=is_number(a.items.minimum)?a.items.minimum:a.items.visible+1;if("show"==b||"hide"==b)var e=b;else if(d>b){debug(c,"Not enough items ("+b+" total, "+d+" needed): Hiding navigation.");var e="hide"}else var e="show";var f="show"==e?"removeClass":"addClass",g=cf_c("hidden",c);a.auto.button&&a.auto.button[e]()[f](g),a.prev.button&&a.prev.button[e]()[f](g),a.next.button&&a.next.button[e]()[f](g),a.pagination.container&&a.pagination.container[e]()[f](g)}function nv_enableNavi(a,b,c){if(!a.circular&&!a.infinite){var d="removeClass"==b||"addClass"==b?b:!1,e=cf_c("disabled",c);if(a.auto.button&&d&&a.auto.button[d](e),a.prev.button){var f=d||0==b?"addClass":"removeClass";a.prev.button[f](e)}if(a.next.button){var f=d||b==a.items.visible?"addClass":"removeClass";a.next.button[f](e)}}}function go_getObject(a,b){return is_function(b)?b=b.call(a):is_undefined(b)&&(b={}),b}function go_getItemsObject(a,b){return b=go_getObject(a,b),is_number(b)?b={visible:b}:"variable"==b?b={visible:b,width:b,height:b}:is_object(b)||(b={}),b}function go_getScrollObject(a,b){return b=go_getObject(a,b),is_number(b)?b=50>=b?{items:b}:{duration:b}:is_string(b)?b={easing:b}:is_object(b)||(b={}),b}function go_getNaviObject(a,b){if(b=go_getObject(a,b),is_string(b)){var c=cf_getKeyCode(b);b=-1==c?$(b):c}return b}function go_getAutoObject(a,b){return b=go_getNaviObject(a,b),is_jquery(b)?b={button:b}:is_boolean(b)?b={play:b}:is_number(b)&&(b={timeoutDuration:b}),b.progress&&(is_string(b.progress)||is_jquery(b.progress))&&(b.progress={bar:b.progress}),b}function go_complementAutoObject(a,b){return is_function(b.button)&&(b.button=b.button.call(a)),is_string(b.button)&&(b.button=$(b.button)),is_boolean(b.play)||(b.play=!0),is_number(b.delay)||(b.delay=0),is_undefined(b.pauseOnEvent)&&(b.pauseOnEvent=!0),is_boolean(b.pauseOnResize)||(b.pauseOnResize=!0),is_number(b.timeoutDuration)||(b.timeoutDuration=10>b.duration?2500:5*b.duration),b.progress&&(is_function(b.progress.bar)&&(b.progress.bar=b.progress.bar.call(a)),is_string(b.progress.bar)&&(b.progress.bar=$(b.progress.bar)),b.progress.bar?(is_function(b.progress.updater)||(b.progress.updater=$.fn.carouFredSel.progressbarUpdater),is_number(b.progress.interval)||(b.progress.interval=50)):b.progress=!1),b}function go_getPrevNextObject(a,b){return b=go_getNaviObject(a,b),is_jquery(b)?b={button:b}:is_number(b)&&(b={key:b}),b}function go_complementPrevNextObject(a,b){return is_function(b.button)&&(b.button=b.button.call(a)),is_string(b.button)&&(b.button=$(b.button)),is_string(b.key)&&(b.key=cf_getKeyCode(b.key)),b}function go_getPaginationObject(a,b){return b=go_getNaviObject(a,b),is_jquery(b)?b={container:b}:is_boolean(b)&&(b={keys:b}),b}function go_complementPaginationObject(a,b){return is_function(b.container)&&(b.container=b.container.call(a)),is_string(b.container)&&(b.container=$(b.container)),is_number(b.items)||(b.items=!1),is_boolean(b.keys)||(b.keys=!1),is_function(b.anchorBuilder)||is_false(b.anchorBuilder)||(b.anchorBuilder=$.fn.carouFredSel.pageAnchorBuilder),is_number(b.deviation)||(b.deviation=0),b}function go_getSwipeObject(a,b){return is_function(b)&&(b=b.call(a)),is_undefined(b)&&(b={onTouch:!1}),is_true(b)?b={onTouch:b}:is_number(b)&&(b={items:b}),b}function go_complementSwipeObject(a,b){return is_boolean(b.onTouch)||(b.onTouch=!0),is_boolean(b.onMouse)||(b.onMouse=!1),is_object(b.options)||(b.options={}),is_boolean(b.options.triggerOnTouchEnd)||(b.options.triggerOnTouchEnd=!1),b}function go_getMousewheelObject(a,b){return is_function(b)&&(b=b.call(a)),is_true(b)?b={}:is_number(b)?b={items:b}:is_undefined(b)&&(b=!1),b}function go_complementMousewheelObject(a,b){return b}function gn_getItemIndex(a,b,c,d,e){if(is_string(a)&&(a=$(a,e)),is_object(a)&&(a=$(a,e)),is_jquery(a)?(a=e.children().index(a),is_boolean(c)||(c=!1)):is_boolean(c)||(c=!0),is_number(a)||(a=0),is_number(b)||(b=0),c&&(a+=d.first),a+=b,d.total>0){for(;a>=d.total;)a-=d.total;for(;0>a;)a+=d.total}return a}function gn_getVisibleItemsPrev(a,b,c){for(var d=0,e=0,f=c;f>=0;f--){var g=a.eq(f);if(d+=g.is(":visible")?g[b.d.outerWidth](!0):0,d>b.maxDimension)return e;0==f&&(f=a.length),e++}}function gn_getVisibleItemsPrevFilter(a,b,c){return gn_getItemsPrevFilter(a,b.items.filter,b.items.visibleConf.org,c)}function gn_getScrollItemsPrevFilter(a,b,c,d){return gn_getItemsPrevFilter(a,b.items.filter,d,c)}function gn_getItemsPrevFilter(a,b,c,d){for(var e=0,f=0,g=d,h=a.length;g>=0;g--){if(f++,f==h)return f;var i=a.eq(g);if(i.is(b)&&(e++,e==c))return f;0==g&&(g=h)}}function gn_getVisibleOrg(a,b){return b.items.visibleConf.org||a.children().slice(0,b.items.visible).filter(b.items.filter).length}function gn_getVisibleItemsNext(a,b,c){for(var d=0,e=0,f=c,g=a.length-1;g>=f;f++){var h=a.eq(f);if(d+=h.is(":visible")?h[b.d.outerWidth](!0):0,d>b.maxDimension)return e;if(e++,e==g+1)return e;f==g&&(f=-1)}}function gn_getVisibleItemsNextTestCircular(a,b,c,d){var e=gn_getVisibleItemsNext(a,b,c);return b.circular||c+e>d&&(e=d-c),e}function gn_getVisibleItemsNextFilter(a,b,c){return gn_getItemsNextFilter(a,b.items.filter,b.items.visibleConf.org,c,b.circular)}function gn_getScrollItemsNextFilter(a,b,c,d){return gn_getItemsNextFilter(a,b.items.filter,d+1,c,b.circular)-1}function gn_getItemsNextFilter(a,b,c,d){for(var f=0,g=0,h=d,i=a.length-1;i>=h;h++){if(g++,g>=i)return g;var j=a.eq(h);if(j.is(b)&&(f++,f==c))return g;h==i&&(h=-1)}}function gi_getCurrentItems(a,b){return a.slice(0,b.items.visible)}function gi_getOldItemsPrev(a,b,c){return a.slice(c,b.items.visibleConf.old+c)}function gi_getNewItemsPrev(a,b){return a.slice(0,b.items.visible)}function gi_getOldItemsNext(a,b){return a.slice(0,b.items.visibleConf.old)}function gi_getNewItemsNext(a,b,c){return a.slice(c,b.items.visible+c)}function sz_storeMargin(a,b,c){b.usePadding&&(is_string(c)||(c="_cfs_origCssMargin"),a.each(function(){var a=$(this),d=parseInt(a.css(b.d.marginRight),10);is_number(d)||(d=0),a.data(c,d)}))}function sz_resetMargin(a,b,c){if(b.usePadding){var d=is_boolean(c)?c:!1;is_number(c)||(c=0),sz_storeMargin(a,b,"_cfs_tempCssMargin"),a.each(function(){var a=$(this);a.css(b.d.marginRight,d?a.data("_cfs_tempCssMargin"):c+a.data("_cfs_origCssMargin"))})}}function sz_storeOrigCss(a){a.each(function(){var a=$(this);a.data("_cfs_origCss",a.attr("style")||"")})}function sz_restoreOrigCss(a){a.each(function(){var a=$(this);a.attr("style",a.data("_cfs_origCss")||"")})}function sz_setResponsiveSizes(a,b){var d=(a.items.visible,a.items[a.d.width]),e=a[a.d.height],f=is_percentage(e);b.each(function(){var b=$(this),c=d-ms_getPaddingBorderMargin(b,a,"Width");b[a.d.width](c),f&&b[a.d.height](ms_getPercentage(c,e))})}function sz_setSizes(a,b){var c=a.parent(),d=a.children(),e=gi_getCurrentItems(d,b),f=cf_mapWrapperSizes(ms_getSizes(e,b,!0),b,!1);if(c.css(f),b.usePadding){var g=b.padding,h=g[b.d[1]];b.align&&0>h&&(h=0);var i=e.last();i.css(b.d.marginRight,i.data("_cfs_origCssMargin")+h),a.css(b.d.top,g[b.d[0]]),a.css(b.d.left,g[b.d[3]])}return a.css(b.d.width,f[b.d.width]+2*ms_getTotalSize(d,b,"width")),a.css(b.d.height,ms_getLargestSize(d,b,"height")),f}function ms_getSizes(a,b,c){return[ms_getTotalSize(a,b,"width",c),ms_getLargestSize(a,b,"height",c)]}function ms_getLargestSize(a,b,c,d){return is_boolean(d)||(d=!1),is_number(b[b.d[c]])&&d?b[b.d[c]]:is_number(b.items[b.d[c]])?b.items[b.d[c]]:(c=c.toLowerCase().indexOf("width")>-1?"outerWidth":"outerHeight",ms_getTrueLargestSize(a,b,c))}function ms_getTrueLargestSize(a,b,c){for(var d=0,e=0,f=a.length;f>e;e++){var g=a.eq(e),h=g.is(":visible")?g[b.d[c]](!0):0;h>d&&(d=h)}return d}function ms_getTotalSize(a,b,c,d){if(is_boolean(d)||(d=!1),is_number(b[b.d[c]])&&d)return b[b.d[c]];if(is_number(b.items[b.d[c]]))return b.items[b.d[c]]*a.length;for(var e=c.toLowerCase().indexOf("width")>-1?"outerWidth":"outerHeight",f=0,g=0,h=a.length;h>g;g++){var i=a.eq(g);f+=i.is(":visible")?i[b.d[e]](!0):0}return f}function ms_getParentSize(a,b,c){var d=a.is(":visible");d&&a.hide();var e=a.parent()[b.d[c]]();return d&&a.show(),e}function ms_getMaxDimension(a,b){return is_number(a[a.d.width])?a[a.d.width]:b}function ms_hasVariableSizes(a,b,c){for(var d=!1,e=!1,f=0,g=a.length;g>f;f++){var h=a.eq(f),i=h.is(":visible")?h[b.d[c]](!0):0;d===!1?d=i:d!=i&&(e=!0),0==d&&(e=!0)}return e}function ms_getPaddingBorderMargin(a,b,c){return a[b.d["outer"+c]](!0)-a[b.d[c.toLowerCase()]]()}function ms_getPercentage(a,b){if(is_percentage(b)){if(b=parseInt(b.slice(0,-1),10),!is_number(b))return a;a*=b/100}return a}function cf_e(a,b,c,d,e){return is_boolean(c)||(c=!0),is_boolean(d)||(d=!0),is_boolean(e)||(e=!1),c&&(a=b.events.prefix+a),d&&(a=a+"."+b.events.namespace),d&&e&&(a+=b.serialNumber),a}function cf_c(a,b){return is_string(b.classnames[a])?b.classnames[a]:a}function cf_mapWrapperSizes(a,b,c){is_boolean(c)||(c=!0);var d=b.usePadding&&c?b.padding:[0,0,0,0],e={};return e[b.d.width]=a[0]+d[1]+d[3],e[b.d.height]=a[1]+d[0]+d[2],e}function cf_sortParams(a,b){for(var c=[],d=0,e=a.length;e>d;d++)for(var f=0,g=b.length;g>f;f++)if(b[f].indexOf(typeof a[d])>-1&&is_undefined(c[f])){c[f]=a[d];break}return c}function cf_getPadding(a){if(is_undefined(a))return[0,0,0,0];if(is_number(a))return[a,a,a,a];if(is_string(a)&&(a=a.split("px").join("").split("em").join("").split(" ")),!is_array(a))return[0,0,0,0];for(var b=0;4>b;b++)a[b]=parseInt(a[b],10);switch(a.length){case 0:return[0,0,0,0];case 1:return[a[0],a[0],a[0],a[0]];case 2:return[a[0],a[1],a[0],a[1]];case 3:return[a[0],a[1],a[2],a[1]];default:return[a[0],a[1],a[2],a[3]]}}function cf_getAlignPadding(a,b){var c=is_number(b[b.d.width])?Math.ceil(b[b.d.width]-ms_getTotalSize(a,b,"width")):0;switch(b.align){case"left":return[0,c];case"right":return[c,0];case"center":default:return[Math.ceil(c/2),Math.floor(c/2)]}}function cf_getDimensions(a){for(var b=[["width","innerWidth","outerWidth","height","innerHeight","outerHeight","left","top","marginRight",0,1,2,3],["height","innerHeight","outerHeight","width","innerWidth","outerWidth","top","left","marginBottom",3,2,1,0]],c=b[0].length,d="right"==a.direction||"left"==a.direction?0:1,e={},f=0;c>f;f++)e[b[0][f]]=b[d][f];return e}function cf_getAdjust(a,b,c,d){var e=a;if(is_function(c))e=c.call(d,e);else if(is_string(c)){var f=c.split("+"),g=c.split("-");if(g.length>f.length)var h=!0,i=g[0],j=g[1];else var h=!1,i=f[0],j=f[1];switch(i){case"even":e=1==a%2?a-1:a;break;case"odd":e=0==a%2?a-1:a;break;default:e=a}j=parseInt(j,10),is_number(j)&&(h&&(j=-j),e+=j)}return(!is_number(e)||1>e)&&(e=1),e}function cf_getItemsAdjust(a,b,c,d){return cf_getItemAdjustMinMax(cf_getAdjust(a,b,c,d),b.items.visibleConf)}function cf_getItemAdjustMinMax(a,b){return is_number(b.min)&&b.min>a&&(a=b.min),is_number(b.max)&&a>b.max&&(a=b.max),1>a&&(a=1),a}function cf_getSynchArr(a){is_array(a)||(a=[[a]]),is_array(a[0])||(a=[a]);for(var b=0,c=a.length;c>b;b++)is_string(a[b][0])&&(a[b][0]=$(a[b][0])),is_boolean(a[b][1])||(a[b][1]=!0),is_boolean(a[b][2])||(a[b][2]=!0),is_number(a[b][3])||(a[b][3]=0);return a}function cf_getKeyCode(a){return"right"==a?39:"left"==a?37:"up"==a?38:"down"==a?40:-1}function cf_setCookie(a,b,c){if(a){var d=b.triggerHandler(cf_e("currentPosition",c));$.fn.carouFredSel.cookie.set(a,d)}}function cf_getCookie(a){var b=$.fn.carouFredSel.cookie.get(a);return""==b?0:b}function in_mapCss(a,b){for(var c={},d=0,e=b.length;e>d;d++)c[b[d]]=a.css(b[d]);return c}function in_complementItems(a,b,c,d){return is_object(a.visibleConf)||(a.visibleConf={}),is_object(a.sizesConf)||(a.sizesConf={}),0==a.start&&is_number(d)&&(a.start=d),is_object(a.visible)?(a.visibleConf.min=a.visible.min,a.visibleConf.max=a.visible.max,a.visible=!1):is_string(a.visible)?("variable"==a.visible?a.visibleConf.variable=!0:a.visibleConf.adjust=a.visible,a.visible=!1):is_function(a.visible)&&(a.visibleConf.adjust=a.visible,a.visible=!1),is_string(a.filter)||(a.filter=c.filter(":hidden").length>0?":visible":"*"),a[b.d.width]||(b.responsive?(debug(!0,"Set a "+b.d.width+" for the items!"),a[b.d.width]=ms_getTrueLargestSize(c,b,"outerWidth")):a[b.d.width]=ms_hasVariableSizes(c,b,"outerWidth")?"variable":c[b.d.outerWidth](!0)),a[b.d.height]||(a[b.d.height]=ms_hasVariableSizes(c,b,"outerHeight")?"variable":c[b.d.outerHeight](!0)),a.sizesConf.width=a.width,a.sizesConf.height=a.height,a}function in_complementVisibleItems(a,b){return"variable"==a.items[a.d.width]&&(a.items.visibleConf.variable=!0),a.items.visibleConf.variable||(is_number(a[a.d.width])?a.items.visible=Math.floor(a[a.d.width]/a.items[a.d.width]):(a.items.visible=Math.floor(b/a.items[a.d.width]),a[a.d.width]=a.items.visible*a.items[a.d.width],a.items.visibleConf.adjust||(a.align=!1)),("Infinity"==a.items.visible||1>a.items.visible)&&(debug(!0,'Not a valid number of visible items: Set to "variable".'),a.items.visibleConf.variable=!0)),a}function in_complementPrimarySize(a,b,c){return"auto"==a&&(a=ms_getTrueLargestSize(c,b,"outerWidth")),a}function in_complementSecondarySize(a,b,c){return"auto"==a&&(a=ms_getTrueLargestSize(c,b,"outerHeight")),a||(a=b.items[b.d.height]),a}function in_getAlignPadding(a,b){var c=cf_getAlignPadding(gi_getCurrentItems(b,a),a);return a.padding[a.d[1]]=c[1],a.padding[a.d[3]]=c[0],a}function in_getResponsiveValues(a,b){var d=cf_getItemAdjustMinMax(Math.ceil(a[a.d.width]/a.items[a.d.width]),a.items.visibleConf);d>b.length&&(d=b.length);var e=Math.floor(a[a.d.width]/d);return a.items.visible=d,a.items[a.d.width]=e,a[a.d.width]=d*e,a}function bt_pauseOnHoverConfig(a){if(is_string(a))var b=a.indexOf("immediate")>-1?!0:!1,c=a.indexOf("resume")>-1?!0:!1;else var b=c=!1;return[b,c]}function bt_mousesheelNumber(a){return is_number(a)?a:null}function is_null(a){return null===a}function is_undefined(a){return is_null(a)||a===void 0||""===a||"undefined"===a}function is_array(a){return a instanceof Array}function is_jquery(a){return a instanceof jQuery}function is_object(a){return(a instanceof Object||"object"==typeof a)&&!is_null(a)&&!is_jquery(a)&&!is_array(a)&&!is_function(a)}function is_number(a){return(a instanceof Number||"number"==typeof a)&&!isNaN(a)}function is_string(a){return(a instanceof String||"string"==typeof a)&&!is_undefined(a)&&!is_true(a)&&!is_false(a)}function is_function(a){return a instanceof Function||"function"==typeof a}function is_boolean(a){return a instanceof Boolean||"boolean"==typeof a||is_true(a)||is_false(a)}function is_true(a){return a===!0||"true"===a}function is_false(a){return a===!1||"false"===a}function is_percentage(a){return is_string(a)&&"%"==a.slice(-1)}function getTime(){return(new Date).getTime()}function deprecated(a,b){debug(!0,a+" is DEPRECATED, support for it will be removed. Use "+b+" instead.")}function debug(a,b){if(!is_undefined(window.console)&&!is_undefined(window.console.log)){if(is_object(a)){var c=" ("+a.selector+")";a=a.debug}else var c="";if(!a)return!1;b=is_string(b)?"carouFredSel"+c+": "+b:["carouFredSel"+c+":",b],window.console.log(b)}return!1}$.fn.carouFredSel||($.fn.caroufredsel=$.fn.carouFredSel=function(options,configs){if(0==this.length)return debug(!0,'No element found for "'+this.selector+'".'),this;if(this.length>1)return this.each(function(){$(this).carouFredSel(options,configs)});var $cfs=this,$tt0=this[0],starting_position=!1;$cfs.data("_cfs_isCarousel")&&(starting_position=$cfs.triggerHandler("_cfs_triggerEvent","currentPosition"),$cfs.trigger("_cfs_triggerEvent",["destroy",!0]));var FN={};FN._init=function(a,b,c){a=go_getObject($tt0,a),a.items=go_getItemsObject($tt0,a.items),a.scroll=go_getScrollObject($tt0,a.scroll),a.auto=go_getAutoObject($tt0,a.auto),a.prev=go_getPrevNextObject($tt0,a.prev),a.next=go_getPrevNextObject($tt0,a.next),a.pagination=go_getPaginationObject($tt0,a.pagination),a.swipe=go_getSwipeObject($tt0,a.swipe),a.mousewheel=go_getMousewheelObject($tt0,a.mousewheel),b&&(opts_orig=$.extend(!0,{},$.fn.carouFredSel.defaults,a)),opts=$.extend(!0,{},$.fn.carouFredSel.defaults,a),opts.d=cf_getDimensions(opts),crsl.direction="up"==opts.direction||"left"==opts.direction?"next":"prev";var d=$cfs.children(),e=ms_getParentSize($wrp,opts,"width");if(is_true(opts.cookie)&&(opts.cookie="caroufredsel_cookie_"+conf.serialNumber),opts.maxDimension=ms_getMaxDimension(opts,e),opts.items=in_complementItems(opts.items,opts,d,c),opts[opts.d.width]=in_complementPrimarySize(opts[opts.d.width],opts,d),opts[opts.d.height]=in_complementSecondarySize(opts[opts.d.height],opts,d),opts.responsive&&(is_percentage(opts[opts.d.width])||(opts[opts.d.width]="100%")),is_percentage(opts[opts.d.width])&&(crsl.upDateOnWindowResize=!0,crsl.primarySizePercentage=opts[opts.d.width],opts[opts.d.width]=ms_getPercentage(e,crsl.primarySizePercentage),opts.items.visible||(opts.items.visibleConf.variable=!0)),opts.responsive?(opts.usePadding=!1,opts.padding=[0,0,0,0],opts.align=!1,opts.items.visibleConf.variable=!1):(opts.items.visible||(opts=in_complementVisibleItems(opts,e)),opts[opts.d.width]||(!opts.items.visibleConf.variable&&is_number(opts.items[opts.d.width])&&"*"==opts.items.filter?(opts[opts.d.width]=opts.items.visible*opts.items[opts.d.width],opts.align=!1):opts[opts.d.width]="variable"),is_undefined(opts.align)&&(opts.align=is_number(opts[opts.d.width])?"center":!1),opts.items.visibleConf.variable&&(opts.items.visible=gn_getVisibleItemsNext(d,opts,0))),"*"==opts.items.filter||opts.items.visibleConf.variable||(opts.items.visibleConf.org=opts.items.visible,opts.items.visible=gn_getVisibleItemsNextFilter(d,opts,0)),opts.items.visible=cf_getItemsAdjust(opts.items.visible,opts,opts.items.visibleConf.adjust,$tt0),opts.items.visibleConf.old=opts.items.visible,opts.responsive)opts.items.visibleConf.min||(opts.items.visibleConf.min=opts.items.visible),opts.items.visibleConf.max||(opts.items.visibleConf.max=opts.items.visible),opts=in_getResponsiveValues(opts,d,e);else switch(opts.padding=cf_getPadding(opts.padding),"top"==opts.align?opts.align="left":"bottom"==opts.align&&(opts.align="right"),opts.align){case"center":case"left":case"right":"variable"!=opts[opts.d.width]&&(opts=in_getAlignPadding(opts,d),opts.usePadding=!0);break;default:opts.align=!1,opts.usePadding=0==opts.padding[0]&&0==opts.padding[1]&&0==opts.padding[2]&&0==opts.padding[3]?!1:!0}is_number(opts.scroll.duration)||(opts.scroll.duration=500),is_undefined(opts.scroll.items)&&(opts.scroll.items=opts.responsive||opts.items.visibleConf.variable||"*"!=opts.items.filter?"visible":opts.items.visible),opts.auto=$.extend(!0,{},opts.scroll,opts.auto),opts.prev=$.extend(!0,{},opts.scroll,opts.prev),opts.next=$.extend(!0,{},opts.scroll,opts.next),opts.pagination=$.extend(!0,{},opts.scroll,opts.pagination),opts.auto=go_complementAutoObject($tt0,opts.auto),opts.prev=go_complementPrevNextObject($tt0,opts.prev),opts.next=go_complementPrevNextObject($tt0,opts.next),opts.pagination=go_complementPaginationObject($tt0,opts.pagination),opts.swipe=go_complementSwipeObject($tt0,opts.swipe),opts.mousewheel=go_complementMousewheelObject($tt0,opts.mousewheel),opts.synchronise&&(opts.synchronise=cf_getSynchArr(opts.synchronise)),opts.auto.onPauseStart&&(opts.auto.onTimeoutStart=opts.auto.onPauseStart,deprecated("auto.onPauseStart","auto.onTimeoutStart")),opts.auto.onPausePause&&(opts.auto.onTimeoutPause=opts.auto.onPausePause,deprecated("auto.onPausePause","auto.onTimeoutPause")),opts.auto.onPauseEnd&&(opts.auto.onTimeoutEnd=opts.auto.onPauseEnd,deprecated("auto.onPauseEnd","auto.onTimeoutEnd")),opts.auto.pauseDuration&&(opts.auto.timeoutDuration=opts.auto.pauseDuration,deprecated("auto.pauseDuration","auto.timeoutDuration"))},FN._build=function(){$cfs.data("_cfs_isCarousel",!0);var a=$cfs.children(),b=in_mapCss($cfs,["textAlign","float","position","top","right","bottom","left","zIndex","width","height","marginTop","marginRight","marginBottom","marginLeft"]),c="relative";switch(b.position){case"absolute":case"fixed":c=b.position}"parent"==conf.wrapper?sz_storeOrigCss($wrp):$wrp.css(b),$wrp.css({overflow:"hidden",position:c}),sz_storeOrigCss($cfs),$cfs.data("_cfs_origCssZindex",b.zIndex),$cfs.css({textAlign:"left","float":"none",position:"absolute",top:0,right:"auto",bottom:"auto",left:0,marginTop:0,marginRight:0,marginBottom:0,marginLeft:0}),sz_storeMargin(a,opts),sz_storeOrigCss(a),opts.responsive&&sz_setResponsiveSizes(opts,a)},FN._bind_events=function(){FN._unbind_events(),$cfs.bind(cf_e("stop",conf),function(a,b){return a.stopPropagation(),crsl.isStopped||opts.auto.button&&opts.auto.button.addClass(cf_c("stopped",conf)),crsl.isStopped=!0,opts.auto.play&&(opts.auto.play=!1,$cfs.trigger(cf_e("pause",conf),b)),!0}),$cfs.bind(cf_e("finish",conf),function(a){return a.stopPropagation(),crsl.isScrolling&&sc_stopScroll(scrl),!0}),$cfs.bind(cf_e("pause",conf),function(a,b,c){if(a.stopPropagation(),tmrs=sc_clearTimers(tmrs),b&&crsl.isScrolling){scrl.isStopped=!0;var d=getTime()-scrl.startTime;scrl.duration-=d,scrl.pre&&(scrl.pre.duration-=d),scrl.post&&(scrl.post.duration-=d),sc_stopScroll(scrl,!1)}if(crsl.isPaused||crsl.isScrolling||c&&(tmrs.timePassed+=getTime()-tmrs.startTime),crsl.isPaused||opts.auto.button&&opts.auto.button.addClass(cf_c("paused",conf)),crsl.isPaused=!0,opts.auto.onTimeoutPause){var e=opts.auto.timeoutDuration-tmrs.timePassed,f=100-Math.ceil(100*e/opts.auto.timeoutDuration);opts.auto.onTimeoutPause.call($tt0,f,e)}return!0}),$cfs.bind(cf_e("play",conf),function(a,b,c,d){a.stopPropagation(),tmrs=sc_clearTimers(tmrs);var e=[b,c,d],f=["string","number","boolean"],g=cf_sortParams(e,f);if(b=g[0],c=g[1],d=g[2],"prev"!=b&&"next"!=b&&(b=crsl.direction),is_number(c)||(c=0),is_boolean(d)||(d=!1),d&&(crsl.isStopped=!1,opts.auto.play=!0),!opts.auto.play)return a.stopImmediatePropagation(),debug(conf,"Carousel stopped: Not scrolling.");crsl.isPaused&&opts.auto.button&&(opts.auto.button.removeClass(cf_c("stopped",conf)),opts.auto.button.removeClass(cf_c("paused",conf))),crsl.isPaused=!1,tmrs.startTime=getTime();var h=opts.auto.timeoutDuration+c;return dur2=h-tmrs.timePassed,perc=100-Math.ceil(100*dur2/h),opts.auto.progress&&(tmrs.progress=setInterval(function(){var a=getTime()-tmrs.startTime+tmrs.timePassed,b=Math.ceil(100*a/h);opts.auto.progress.updater.call(opts.auto.progress.bar[0],b)},opts.auto.progress.interval)),tmrs.auto=setTimeout(function(){opts.auto.progress&&opts.auto.progress.updater.call(opts.auto.progress.bar[0],100),opts.auto.onTimeoutEnd&&opts.auto.onTimeoutEnd.call($tt0,perc,dur2),crsl.isScrolling?$cfs.trigger(cf_e("play",conf),b):$cfs.trigger(cf_e(b,conf),opts.auto)},dur2),opts.auto.onTimeoutStart&&opts.auto.onTimeoutStart.call($tt0,perc,dur2),!0}),$cfs.bind(cf_e("resume",conf),function(a){return a.stopPropagation(),scrl.isStopped?(scrl.isStopped=!1,crsl.isPaused=!1,crsl.isScrolling=!0,scrl.startTime=getTime(),sc_startScroll(scrl,conf)):$cfs.trigger(cf_e("play",conf)),!0}),$cfs.bind(cf_e("prev",conf)+" "+cf_e("next",conf),function(a,b,c,d,e){if(a.stopPropagation(),crsl.isStopped||$cfs.is(":hidden"))return a.stopImmediatePropagation(),debug(conf,"Carousel stopped or hidden: Not scrolling.");var f=is_number(opts.items.minimum)?opts.items.minimum:opts.items.visible+1;if(f>itms.total)return a.stopImmediatePropagation(),debug(conf,"Not enough items ("+itms.total+" total, "+f+" needed): Not scrolling.");var g=[b,c,d,e],h=["object","number/string","function","boolean"],i=cf_sortParams(g,h);b=i[0],c=i[1],d=i[2],e=i[3];var j=a.type.slice(conf.events.prefix.length);if(is_object(b)||(b={}),is_function(d)&&(b.onAfter=d),is_boolean(e)&&(b.queue=e),b=$.extend(!0,{},opts[j],b),b.conditions&&!b.conditions.call($tt0,j))return a.stopImmediatePropagation(),debug(conf,'Callback "conditions" returned false.');if(!is_number(c)){if("*"!=opts.items.filter)c="visible";else for(var k=[c,b.items,opts[j].items],i=0,l=k.length;l>i;i++)if(is_number(k[i])||"page"==k[i]||"visible"==k[i]){c=k[i];break}switch(c){case"page":return a.stopImmediatePropagation(),$cfs.triggerHandler(cf_e(j+"Page",conf),[b,d]);case"visible":opts.items.visibleConf.variable||"*"!=opts.items.filter||(c=opts.items.visible)}}if(scrl.isStopped)return $cfs.trigger(cf_e("resume",conf)),$cfs.trigger(cf_e("queue",conf),[j,[b,c,d]]),a.stopImmediatePropagation(),debug(conf,"Carousel resumed scrolling.");if(b.duration>0&&crsl.isScrolling)return b.queue&&("last"==b.queue&&(queu=[]),("first"!=b.queue||0==queu.length)&&$cfs.trigger(cf_e("queue",conf),[j,[b,c,d]])),a.stopImmediatePropagation(),debug(conf,"Carousel currently scrolling.");if(tmrs.timePassed=0,$cfs.trigger(cf_e("slide_"+j,conf),[b,c]),opts.synchronise)for(var m=opts.synchronise,n=[b,c],o=0,l=m.length;l>o;o++){var p=j;m[o][2]||(p="prev"==p?"next":"prev"),m[o][1]||(n[0]=m[o][0].triggerHandler("_cfs_triggerEvent",["configuration",p])),n[1]=c+m[o][3],m[o][0].trigger("_cfs_triggerEvent",["slide_"+p,n])}return!0}),$cfs.bind(cf_e("slide_prev",conf),function(a,b,c){a.stopPropagation();var d=$cfs.children();if(!opts.circular&&0==itms.first)return opts.infinite&&$cfs.trigger(cf_e("next",conf),itms.total-1),a.stopImmediatePropagation();if(sz_resetMargin(d,opts),!is_number(c)){if(opts.items.visibleConf.variable)c=gn_getVisibleItemsPrev(d,opts,itms.total-1);else if("*"!=opts.items.filter){var e=is_number(b.items)?b.items:gn_getVisibleOrg($cfs,opts);c=gn_getScrollItemsPrevFilter(d,opts,itms.total-1,e)}else c=opts.items.visible;c=cf_getAdjust(c,opts,b.items,$tt0)}if(opts.circular||itms.total-c=opts.items.visible+c&&itms.total>c&&(c++,f=cf_getItemsAdjust(gn_getVisibleItemsNext(d,opts,itms.total-c),opts,opts.items.visibleConf.adjust,$tt0)),opts.items.visible=f}else if("*"!=opts.items.filter){var f=gn_getVisibleItemsNextFilter(d,opts,itms.total-c);opts.items.visible=cf_getItemsAdjust(f,opts,opts.items.visibleConf.adjust,$tt0)}if(sz_resetMargin(d,opts,!0),0==c)return a.stopImmediatePropagation(),debug(conf,"0 items to scroll: Not scrolling.");for(debug(conf,"Scrolling "+c+" items backward."),itms.first+=c;itms.first>=itms.total;)itms.first-=itms.total;opts.circular||(0==itms.first&&b.onEnd&&b.onEnd.call($tt0,"prev"),opts.infinite||nv_enableNavi(opts,itms.first,conf)),$cfs.children().slice(itms.total-c,itms.total).prependTo($cfs),itms.totall?opts.padding[opts.d[3]]:0,p=!1,q=$();if(c>opts.items.visible&&(q=d.slice(opts.items.visibleConf.old,c),"directscroll"==b.fx)){var r=opts.items[opts.d.width];p=q,i=k,sc_hideHiddenItems(p),opts.items[opts.d.width]="variable"}var s=!1,t=ms_getTotalSize(d.slice(0,c),opts,"width"),u=cf_mapWrapperSizes(ms_getSizes(h,opts,!0),opts,!opts.usePadding),v=0,w={},x={},y={},z={},A={},B={},C={},D=sc_getDuration(b,opts,c,t);switch(b.fx){case"cover":case"cover-fade":v=ms_getTotalSize(d.slice(0,opts.items.visible),opts,"width")}p&&(opts.items[opts.d.width]=r),sz_resetMargin(d,opts,!0),m>=0&&sz_resetMargin(j,opts,opts.padding[opts.d[1]]),l>=0&&sz_resetMargin(i,opts,opts.padding[opts.d[3]]),opts.align&&(opts.padding[opts.d[1]]=m,opts.padding[opts.d[3]]=l),B[opts.d.left]=-(t-o),C[opts.d.left]=-(v-o),x[opts.d.left]=u[opts.d.width];var E=function(){},F=function(){},G=function(){},H=function(){},I=function(){},J=function(){},K=function(){},L=function(){},M=function(){},N=function(){},O=function(){};switch(b.fx){case"crossfade":case"cover":case"cover-fade":case"uncover":case"uncover-fade":s=$cfs.clone(!0).appendTo($wrp)}switch(b.fx){case"crossfade":case"uncover":case"uncover-fade":s.children().slice(0,c).remove(),s.children().slice(opts.items.visibleConf.old).remove();break;case"cover":case"cover-fade":s.children().slice(opts.items.visible).remove(),s.css(C)}if($cfs.css(B),scrl=sc_setScroll(D,b.easing,conf),w[opts.d.left]=opts.usePadding?opts.padding[opts.d[3]]:0,("variable"==opts[opts.d.width]||"variable"==opts[opts.d.height])&&(E=function(){$wrp.css(u)},F=function(){scrl.anims.push([$wrp,u])}),opts.usePadding){switch(k.not(i).length&&(y[opts.d.marginRight]=i.data("_cfs_origCssMargin"),0>l?i.css(y):(K=function(){i.css(y)},L=function(){scrl.anims.push([i,y])})),b.fx){case"cover":case"cover-fade":s.children().eq(c-1).css(y)}k.not(j).length&&(z[opts.d.marginRight]=j.data("_cfs_origCssMargin"),G=function(){j.css(z)},H=function(){scrl.anims.push([j,z])}),m>=0&&(A[opts.d.marginRight]=k.data("_cfs_origCssMargin")+opts.padding[opts.d[1]],I=function(){k.css(A)},J=function(){scrl.anims.push([k,A])})}O=function(){$cfs.css(w)};var P=opts.items.visible+c-itms.total;N=function(){if(P>0&&($cfs.children().slice(itms.total).remove(),g=$($cfs.children().slice(itms.total-(opts.items.visible-P)).get().concat($cfs.children().slice(0,P).get()))),sc_showHiddenItems(p),opts.usePadding){var a=$cfs.children().eq(opts.items.visible+c-1);a.css(opts.d.marginRight,a.data("_cfs_origCssMargin"))}};var Q=sc_mapCallbackArguments(g,q,h,c,"prev",D,u);switch(M=function(){sc_afterScroll($cfs,s,b),crsl.isScrolling=!1,clbk.onAfter=sc_fireCallbacks($tt0,b,"onAfter",Q,clbk),queu=sc_fireQueue($cfs,queu,conf),crsl.isPaused||$cfs.trigger(cf_e("play",conf))},crsl.isScrolling=!0,tmrs=sc_clearTimers(tmrs),clbk.onBefore=sc_fireCallbacks($tt0,b,"onBefore",Q,clbk),b.fx){case"none":$cfs.css(w),E(),G(),I(),K(),O(),N(),M();break;case"fade":scrl.anims.push([$cfs,{opacity:0},function(){E(),G(),I(),K(),O(),N(),scrl=sc_setScroll(D,b.easing,conf),scrl.anims.push([$cfs,{opacity:1},M]),sc_startScroll(scrl,conf)}]);break;case"crossfade":$cfs.css({opacity:0}),scrl.anims.push([s,{opacity:0}]),scrl.anims.push([$cfs,{opacity:1},M]),F(),G(),I(),K(),O(),N();break;case"cover":scrl.anims.push([s,w,function(){G(),I(),K(),O(),N(),M()}]),F();break;case"cover-fade":scrl.anims.push([$cfs,{opacity:0}]),scrl.anims.push([s,w,function(){G(),I(),K(),O(),N(),M()}]),F();break;case"uncover":scrl.anims.push([s,x,M]),F(),G(),I(),K(),O(),N();break;case"uncover-fade":$cfs.css({opacity:0}),scrl.anims.push([$cfs,{opacity:1}]),scrl.anims.push([s,x,M]),F(),G(),I(),K(),O(),N();break;default:scrl.anims.push([$cfs,w,function(){N(),M()}]),F(),H(),J(),L()}return sc_startScroll(scrl,conf),cf_setCookie(opts.cookie,$cfs,conf),$cfs.trigger(cf_e("updatePageStatus",conf),[!1,u]),!0
}),$cfs.bind(cf_e("slide_next",conf),function(a,b,c){a.stopPropagation();var d=$cfs.children();if(!opts.circular&&itms.first==opts.items.visible)return opts.infinite&&$cfs.trigger(cf_e("prev",conf),itms.total-1),a.stopImmediatePropagation();if(sz_resetMargin(d,opts),!is_number(c)){if("*"!=opts.items.filter){var e=is_number(b.items)?b.items:gn_getVisibleOrg($cfs,opts);c=gn_getScrollItemsNextFilter(d,opts,0,e)}else c=opts.items.visible;c=cf_getAdjust(c,opts,b.items,$tt0)}var f=0==itms.first?itms.total:itms.first;if(!opts.circular){if(opts.items.visibleConf.variable)var g=gn_getVisibleItemsNext(d,opts,c),e=gn_getVisibleItemsPrev(d,opts,f-1);else var g=opts.items.visible,e=opts.items.visible;c+g>f&&(c=f-e)}if(opts.items.visibleConf.old=opts.items.visible,opts.items.visibleConf.variable){for(var g=cf_getItemsAdjust(gn_getVisibleItemsNextTestCircular(d,opts,c,f),opts,opts.items.visibleConf.adjust,$tt0);opts.items.visible-c>=g&&itms.total>c;)c++,g=cf_getItemsAdjust(gn_getVisibleItemsNextTestCircular(d,opts,c,f),opts,opts.items.visibleConf.adjust,$tt0);opts.items.visible=g}else if("*"!=opts.items.filter){var g=gn_getVisibleItemsNextFilter(d,opts,c);opts.items.visible=cf_getItemsAdjust(g,opts,opts.items.visibleConf.adjust,$tt0)}if(sz_resetMargin(d,opts,!0),0==c)return a.stopImmediatePropagation(),debug(conf,"0 items to scroll: Not scrolling.");for(debug(conf,"Scrolling "+c+" items forward."),itms.first-=c;0>itms.first;)itms.first+=itms.total;opts.circular||(itms.first==opts.items.visible&&b.onEnd&&b.onEnd.call($tt0,"next"),opts.infinite||nv_enableNavi(opts,itms.first,conf)),itms.totalopts.items.visibleConf.old&&(q=d.slice(opts.items.visibleConf.old,c),"directscroll"==b.fx)){var r=opts.items[opts.d.width];p=q,j=k,sc_hideHiddenItems(p),opts.items[opts.d.width]="variable"}var s=!1,t=ms_getTotalSize(d.slice(0,c),opts,"width"),u=cf_mapWrapperSizes(ms_getSizes(i,opts,!0),opts,!opts.usePadding),v=0,w={},x={},y={},z={},A={},B=sc_getDuration(b,opts,c,t);switch(b.fx){case"uncover":case"uncover-fade":v=ms_getTotalSize(d.slice(0,opts.items.visibleConf.old),opts,"width")}p&&(opts.items[opts.d.width]=r),opts.align&&0>opts.padding[opts.d[1]]&&(opts.padding[opts.d[1]]=0),sz_resetMargin(d,opts,!0),sz_resetMargin(k,opts,opts.padding[opts.d[1]]),opts.align&&(opts.padding[opts.d[1]]=n,opts.padding[opts.d[3]]=m),A[opts.d.left]=opts.usePadding?opts.padding[opts.d[3]]:0;var C=function(){},D=function(){},E=function(){},F=function(){},G=function(){},H=function(){},I=function(){},J=function(){},K=function(){};switch(b.fx){case"crossfade":case"cover":case"cover-fade":case"uncover":case"uncover-fade":s=$cfs.clone(!0).appendTo($wrp),s.children().slice(opts.items.visibleConf.old).remove()}switch(b.fx){case"crossfade":case"cover":case"cover-fade":$cfs.css("zIndex",1),s.css("zIndex",0)}if(scrl=sc_setScroll(B,b.easing,conf),w[opts.d.left]=-t,x[opts.d.left]=-v,0>m&&(w[opts.d.left]+=m),("variable"==opts[opts.d.width]||"variable"==opts[opts.d.height])&&(C=function(){$wrp.css(u)},D=function(){scrl.anims.push([$wrp,u])}),opts.usePadding){var L=l.data("_cfs_origCssMargin");n>=0&&(L+=opts.padding[opts.d[1]]),l.css(opts.d.marginRight,L),j.not(k).length&&(z[opts.d.marginRight]=k.data("_cfs_origCssMargin")),E=function(){k.css(z)},F=function(){scrl.anims.push([k,z])};var M=j.data("_cfs_origCssMargin");m>0&&(M+=opts.padding[opts.d[3]]),y[opts.d.marginRight]=M,G=function(){j.css(y)},H=function(){scrl.anims.push([j,y])}}K=function(){$cfs.css(A)};var N=opts.items.visible+c-itms.total;J=function(){N>0&&$cfs.children().slice(itms.total).remove();var a=$cfs.children().slice(0,c).appendTo($cfs).last();if(N>0&&(i=gi_getCurrentItems(d,opts)),sc_showHiddenItems(p),opts.usePadding){if(itms.total=b?"next":"prev":0==itms.first||itms.first>b?"next":"prev"),"prev"==f&&(b=itms.total-b),$cfs.trigger(cf_e(f,conf),[e,b,g]),!0)}),$cfs.bind(cf_e("prevPage",conf),function(a,b,c){a.stopPropagation();var d=$cfs.triggerHandler(cf_e("currentPage",conf));return $cfs.triggerHandler(cf_e("slideToPage",conf),[d-1,b,"prev",c])}),$cfs.bind(cf_e("nextPage",conf),function(a,b,c){a.stopPropagation();var d=$cfs.triggerHandler(cf_e("currentPage",conf));return $cfs.triggerHandler(cf_e("slideToPage",conf),[d+1,b,"next",c])}),$cfs.bind(cf_e("slideToPage",conf),function(a,b,c,d,e){a.stopPropagation(),is_number(b)||(b=$cfs.triggerHandler(cf_e("currentPage",conf)));var f=opts.pagination.items||opts.items.visible,g=Math.ceil(itms.total/f)-1;return 0>b&&(b=g),b>g&&(b=0),$cfs.triggerHandler(cf_e("slideTo",conf),[b*f,0,!0,c,d,e])}),$cfs.bind(cf_e("jumpToStart",conf),function(a,b){if(a.stopPropagation(),b=b?gn_getItemIndex(b,0,!0,itms,$cfs):0,b+=itms.first,0!=b){if(itms.total>0)for(;b>itms.total;)b-=itms.total;$cfs.prepend($cfs.children().slice(b,itms.total))}return!0}),$cfs.bind(cf_e("synchronise",conf),function(a,b){if(a.stopPropagation(),b)b=cf_getSynchArr(b);else{if(!opts.synchronise)return debug(conf,"No carousel to synchronise.");b=opts.synchronise}for(var c=$cfs.triggerHandler(cf_e("currentPosition",conf)),d=!0,e=0,f=b.length;f>e;e++)b[e][0].triggerHandler(cf_e("slideTo",conf),[c,b[e][3],!0])||(d=!1);return d}),$cfs.bind(cf_e("queue",conf),function(a,b,c){return a.stopPropagation(),is_function(b)?b.call($tt0,queu):is_array(b)?queu=b:is_undefined(b)||queu.push([b,c]),queu}),$cfs.bind(cf_e("insertItem",conf),function(a,b,c,d,e){a.stopPropagation();var f=[b,c,d,e],g=["string/object","string/number/object","boolean","number"],h=cf_sortParams(f,g);if(b=h[0],c=h[1],d=h[2],e=h[3],is_object(b)&&!is_jquery(b)?b=$(b):is_string(b)&&(b=$(b)),!is_jquery(b)||0==b.length)return debug(conf,"Not a valid object.");is_undefined(c)&&(c="end"),sz_storeMargin(b,opts),sz_storeOrigCss(b);var i=c,j="before";"end"==c?d?(0==itms.first?(c=itms.total-1,j="after"):(c=itms.first,itms.first+=b.length),0>c&&(c=0)):(c=itms.total-1,j="after"):c=gn_getItemIndex(c,e,d,itms,$cfs);var k=$cfs.children().eq(c);return k.length?k[j](b):(debug(conf,"Correct insert-position not found! Appending item to the end."),$cfs.append(b)),"end"==i||d||itms.first>c&&(itms.first+=b.length),itms.total=$cfs.children().length,itms.first>=itms.total&&(itms.first-=itms.total),$cfs.trigger(cf_e("updateSizes",conf)),$cfs.trigger(cf_e("linkAnchors",conf)),!0}),$cfs.bind(cf_e("removeItem",conf),function(a,b,c,d){a.stopPropagation();var e=[b,c,d],f=["string/number/object","boolean","number"],g=cf_sortParams(e,f);if(b=g[0],c=g[1],d=g[2],b instanceof $&&b.length>1)return i=$(),b.each(function(){var e=$cfs.trigger(cf_e("removeItem",conf),[$(this),c,d]);e&&(i=i.add(e))}),i;if(is_undefined(b)||"end"==b)i=$cfs.children().last();else{b=gn_getItemIndex(b,d,c,itms,$cfs);var i=$cfs.children().eq(b);i.length&&itms.first>b&&(itms.first-=i.length)}return i&&i.length&&(i.detach(),itms.total=$cfs.children().length,$cfs.trigger(cf_e("updateSizes",conf))),i}),$cfs.bind(cf_e("onBefore",conf)+" "+cf_e("onAfter",conf),function(a,b){a.stopPropagation();var c=a.type.slice(conf.events.prefix.length);return is_array(b)&&(clbk[c]=b),is_function(b)&&clbk[c].push(b),clbk[c]}),$cfs.bind(cf_e("currentPosition",conf),function(a,b){if(a.stopPropagation(),0==itms.first)var c=0;else var c=itms.total-itms.first;return is_function(b)&&b.call($tt0,c),c}),$cfs.bind(cf_e("currentPage",conf),function(a,b){a.stopPropagation();var e,c=opts.pagination.items||opts.items.visible,d=Math.ceil(itms.total/c-1);return e=0==itms.first?0:itms.firste&&(e=0),e>d&&(e=d),is_function(b)&&b.call($tt0,e),e}),$cfs.bind(cf_e("currentVisible",conf),function(a,b){a.stopPropagation();var c=gi_getCurrentItems($cfs.children(),opts);return is_function(b)&&b.call($tt0,c),c}),$cfs.bind(cf_e("slice",conf),function(a,b,c,d){if(a.stopPropagation(),0==itms.total)return!1;var e=[b,c,d],f=["number","number","function"],g=cf_sortParams(e,f);if(b=is_number(g[0])?g[0]:0,c=is_number(g[1])?g[1]:itms.total,d=g[2],b+=itms.first,c+=itms.first,items.total>0){for(;b>itms.total;)b-=itms.total;for(;c>itms.total;)c-=itms.total;for(;0>b;)b+=itms.total;for(;0>c;)c+=itms.total}var i,h=$cfs.children();return i=c>b?h.slice(b,c):$(h.slice(b,itms.total).get().concat(h.slice(0,c).get())),is_function(d)&&d.call($tt0,i),i}),$cfs.bind(cf_e("isPaused",conf)+" "+cf_e("isStopped",conf)+" "+cf_e("isScrolling",conf),function(a,b){a.stopPropagation();var c=a.type.slice(conf.events.prefix.length),d=crsl[c];return is_function(b)&&b.call($tt0,d),d}),$cfs.bind(cf_e("configuration",conf),function(e,a,b,c){e.stopPropagation();var reInit=!1;if(is_function(a))a.call($tt0,opts);else if(is_object(a))opts_orig=$.extend(!0,{},opts_orig,a),b!==!1?reInit=!0:opts=$.extend(!0,{},opts,a);else if(!is_undefined(a))if(is_function(b)){var val=eval("opts."+a);is_undefined(val)&&(val=""),b.call($tt0,val)}else{if(is_undefined(b))return eval("opts."+a);"boolean"!=typeof c&&(c=!0),eval("opts_orig."+a+"=b"),c!==!1?reInit=!0:eval("opts."+a+"=b")}if(reInit){sz_resetMargin($cfs.children(),opts),FN._init(opts_orig),FN._bind_buttons();var sz=sz_setSizes($cfs,opts);$cfs.trigger(cf_e("updatePageStatus",conf),[!0,sz])}return opts}),$cfs.bind(cf_e("linkAnchors",conf),function(a,b,c){return a.stopPropagation(),is_undefined(b)?b=$("body"):is_string(b)&&(b=$(b)),is_jquery(b)&&0!=b.length?(is_string(c)||(c="a.caroufredsel"),b.find(c).each(function(){var a=this.hash||"";a.length>0&&-1!=$cfs.children().index($(a))&&$(this).unbind("click").click(function(b){b.preventDefault(),$cfs.trigger(cf_e("slideTo",conf),a)})}),!0):debug(conf,"Not a valid object.")}),$cfs.bind(cf_e("updatePageStatus",conf),function(a,b){if(a.stopPropagation(),opts.pagination.container){var d=opts.pagination.items||opts.items.visible,e=Math.ceil(itms.total/d);b&&(opts.pagination.anchorBuilder&&(opts.pagination.container.children().remove(),opts.pagination.container.each(function(){for(var a=0;e>a;a++){var b=$cfs.children().eq(gn_getItemIndex(a*d,0,!0,itms,$cfs));$(this).append(opts.pagination.anchorBuilder.call(b[0],a+1))}})),opts.pagination.container.each(function(){$(this).children().unbind(opts.pagination.event).each(function(a){$(this).bind(opts.pagination.event,function(b){b.preventDefault(),$cfs.trigger(cf_e("slideTo",conf),[a*d,-opts.pagination.deviation,!0,opts.pagination])})})}));var f=$cfs.triggerHandler(cf_e("currentPage",conf))+opts.pagination.deviation;return f>=e&&(f=0),0>f&&(f=e-1),opts.pagination.container.each(function(){$(this).children().removeClass(cf_c("selected",conf)).eq(f).addClass(cf_c("selected",conf))}),!0}}),$cfs.bind(cf_e("updateSizes",conf),function(){var b=opts.items.visible,c=$cfs.children(),d=ms_getParentSize($wrp,opts,"width");if(itms.total=c.length,crsl.primarySizePercentage?(opts.maxDimension=d,opts[opts.d.width]=ms_getPercentage(d,crsl.primarySizePercentage)):opts.maxDimension=ms_getMaxDimension(opts,d),opts.responsive?(opts.items.width=opts.items.sizesConf.width,opts.items.height=opts.items.sizesConf.height,opts=in_getResponsiveValues(opts,c,d),b=opts.items.visible,sz_setResponsiveSizes(opts,c)):opts.items.visibleConf.variable?b=gn_getVisibleItemsNext(c,opts,0):"*"!=opts.items.filter&&(b=gn_getVisibleItemsNextFilter(c,opts,0)),!opts.circular&&0!=itms.first&&b>itms.first){if(opts.items.visibleConf.variable)var e=gn_getVisibleItemsPrev(c,opts,itms.first)-itms.first;else if("*"!=opts.items.filter)var e=gn_getVisibleItemsPrevFilter(c,opts,itms.first)-itms.first;else var e=opts.items.visible-itms.first;debug(conf,"Preventing non-circular: sliding "+e+" items backward."),$cfs.trigger(cf_e("prev",conf),e)}opts.items.visible=cf_getItemsAdjust(b,opts,opts.items.visibleConf.adjust,$tt0),opts.items.visibleConf.old=opts.items.visible,opts=in_getAlignPadding(opts,c);var f=sz_setSizes($cfs,opts);return $cfs.trigger(cf_e("updatePageStatus",conf),[!0,f]),nv_showNavi(opts,itms.total,conf),nv_enableNavi(opts,itms.first,conf),f}),$cfs.bind(cf_e("destroy",conf),function(a,b){return a.stopPropagation(),tmrs=sc_clearTimers(tmrs),$cfs.data("_cfs_isCarousel",!1),$cfs.trigger(cf_e("finish",conf)),b&&$cfs.trigger(cf_e("jumpToStart",conf)),sz_restoreOrigCss($cfs.children()),sz_restoreOrigCss($cfs),FN._unbind_events(),FN._unbind_buttons(),"parent"==conf.wrapper?sz_restoreOrigCss($wrp):$wrp.replaceWith($cfs),!0}),$cfs.bind(cf_e("debug",conf),function(){return debug(conf,"Carousel width: "+opts.width),debug(conf,"Carousel height: "+opts.height),debug(conf,"Item widths: "+opts.items.width),debug(conf,"Item heights: "+opts.items.height),debug(conf,"Number of items visible: "+opts.items.visible),opts.auto.play&&debug(conf,"Number of items scrolled automatically: "+opts.auto.items),opts.prev.button&&debug(conf,"Number of items scrolled backward: "+opts.prev.items),opts.next.button&&debug(conf,"Number of items scrolled forward: "+opts.next.items),conf.debug}),$cfs.bind("_cfs_triggerEvent",function(a,b,c){return a.stopPropagation(),$cfs.triggerHandler(cf_e(b,conf),c)})},FN._unbind_events=function(){$cfs.unbind(cf_e("",conf)),$cfs.unbind(cf_e("",conf,!1)),$cfs.unbind("_cfs_triggerEvent")},FN._bind_buttons=function(){if(FN._unbind_buttons(),nv_showNavi(opts,itms.total,conf),nv_enableNavi(opts,itms.first,conf),opts.auto.pauseOnHover){var a=bt_pauseOnHoverConfig(opts.auto.pauseOnHover);$wrp.bind(cf_e("mouseenter",conf,!1),function(){$cfs.trigger(cf_e("pause",conf),a)}).bind(cf_e("mouseleave",conf,!1),function(){$cfs.trigger(cf_e("resume",conf))})}if(opts.auto.button&&opts.auto.button.bind(cf_e(opts.auto.event,conf,!1),function(a){a.preventDefault();var b=!1,c=null;crsl.isPaused?b="play":opts.auto.pauseOnEvent&&(b="pause",c=bt_pauseOnHoverConfig(opts.auto.pauseOnEvent)),b&&$cfs.trigger(cf_e(b,conf),c)}),opts.prev.button&&(opts.prev.button.bind(cf_e(opts.prev.event,conf,!1),function(a){a.preventDefault(),$cfs.trigger(cf_e("prev",conf))}),opts.prev.pauseOnHover)){var a=bt_pauseOnHoverConfig(opts.prev.pauseOnHover);opts.prev.button.bind(cf_e("mouseenter",conf,!1),function(){$cfs.trigger(cf_e("pause",conf),a)}).bind(cf_e("mouseleave",conf,!1),function(){$cfs.trigger(cf_e("resume",conf))})}if(opts.next.button&&(opts.next.button.bind(cf_e(opts.next.event,conf,!1),function(a){a.preventDefault(),$cfs.trigger(cf_e("next",conf))}),opts.next.pauseOnHover)){var a=bt_pauseOnHoverConfig(opts.next.pauseOnHover);opts.next.button.bind(cf_e("mouseenter",conf,!1),function(){$cfs.trigger(cf_e("pause",conf),a)}).bind(cf_e("mouseleave",conf,!1),function(){$cfs.trigger(cf_e("resume",conf))})}if(opts.pagination.container&&opts.pagination.pauseOnHover){var a=bt_pauseOnHoverConfig(opts.pagination.pauseOnHover);opts.pagination.container.bind(cf_e("mouseenter",conf,!1),function(){$cfs.trigger(cf_e("pause",conf),a)}).bind(cf_e("mouseleave",conf,!1),function(){$cfs.trigger(cf_e("resume",conf))})}if((opts.prev.key||opts.next.key)&&$(document).bind(cf_e("keyup",conf,!1,!0,!0),function(a){var b=a.keyCode;b==opts.next.key&&(a.preventDefault(),$cfs.trigger(cf_e("next",conf))),b==opts.prev.key&&(a.preventDefault(),$cfs.trigger(cf_e("prev",conf)))}),opts.pagination.keys&&$(document).bind(cf_e("keyup",conf,!1,!0,!0),function(a){var b=a.keyCode;b>=49&&58>b&&(b=(b-49)*opts.items.visible,itms.total>=b&&(a.preventDefault(),$cfs.trigger(cf_e("slideTo",conf),[b,0,!0,opts.pagination])))}),$.fn.swipe){var b="ontouchstart"in window;if(b&&opts.swipe.onTouch||!b&&opts.swipe.onMouse){var c=$.extend(!0,{},opts.prev,opts.swipe),d=$.extend(!0,{},opts.next,opts.swipe),e=function(){$cfs.trigger(cf_e("prev",conf),[c])},f=function(){$cfs.trigger(cf_e("next",conf),[d])};switch(opts.direction){case"up":case"down":opts.swipe.options.swipeUp=f,opts.swipe.options.swipeDown=e;break;default:opts.swipe.options.swipeLeft=f,opts.swipe.options.swipeRight=e}crsl.swipe&&$cfs.swipe("destroy"),$wrp.swipe(opts.swipe.options),$wrp.css("cursor","move"),crsl.swipe=!0}}if($.fn.mousewheel&&opts.mousewheel){var g=$.extend(!0,{},opts.prev,opts.mousewheel),h=$.extend(!0,{},opts.next,opts.mousewheel);crsl.mousewheel&&$wrp.unbind(cf_e("mousewheel",conf,!1)),$wrp.bind(cf_e("mousewheel",conf,!1),function(a,b){a.preventDefault(),b>0?$cfs.trigger(cf_e("prev",conf),[g]):$cfs.trigger(cf_e("next",conf),[h])}),crsl.mousewheel=!0}if(opts.auto.play&&$cfs.trigger(cf_e("play",conf),opts.auto.delay),crsl.upDateOnWindowResize){var i=function(){$cfs.trigger(cf_e("finish",conf)),opts.auto.pauseOnResize&&!crsl.isPaused&&$cfs.trigger(cf_e("play",conf)),sz_resetMargin($cfs.children(),opts),$cfs.trigger(cf_e("updateSizes",conf))},j=$(window),k=null;if($.debounce&&"debounce"==conf.onWindowResize)k=$.debounce(200,i);else if($.throttle&&"throttle"==conf.onWindowResize)k=$.throttle(300,i);else{var l=0,m=0;k=function(){var a=j.width(),b=j.height();(a!=l||b!=m)&&(i(),l=a,m=b)}}j.bind(cf_e("resize",conf,!1,!0,!0),k)}},FN._unbind_buttons=function(){var b=(cf_e("",conf),cf_e("",conf,!1));ns3=cf_e("",conf,!1,!0,!0),$(document).unbind(ns3),$(window).unbind(ns3),$wrp.unbind(b),opts.auto.button&&opts.auto.button.unbind(b),opts.prev.button&&opts.prev.button.unbind(b),opts.next.button&&opts.next.button.unbind(b),opts.pagination.container&&(opts.pagination.container.unbind(b),opts.pagination.anchorBuilder&&opts.pagination.container.children().remove()),crsl.swipe&&($cfs.swipe("destroy"),$wrp.css("cursor","default"),crsl.swipe=!1),crsl.mousewheel&&(crsl.mousewheel=!1),nv_showNavi(opts,"hide",conf),nv_enableNavi(opts,"removeClass",conf)},is_boolean(configs)&&(configs={debug:configs});var crsl={direction:"next",isPaused:!0,isScrolling:!1,isStopped:!1,mousewheel:!1,swipe:!1},itms={total:$cfs.children().length,first:0},tmrs={auto:null,progress:null,startTime:getTime(),timePassed:0},scrl={isStopped:!1,duration:0,startTime:0,easing:"",anims:[]},clbk={onBefore:[],onAfter:[]},queu=[],conf=$.extend(!0,{},$.fn.carouFredSel.configs,configs),opts={},opts_orig=$.extend(!0,{},options),$wrp="parent"==conf.wrapper?$cfs.parent():$cfs.wrap("<"+conf.wrapper.element+' class="'+conf.wrapper.classname+'" />').parent();if(conf.selector=$cfs.selector,conf.serialNumber=$.fn.carouFredSel.serialNumber++,conf.transition=conf.transition&&$.fn.transition?"transition":"animate",FN._init(opts_orig,!0,starting_position),FN._build(),FN._bind_events(),FN._bind_buttons(),is_array(opts.items.start))var start_arr=opts.items.start;else{var start_arr=[];0!=opts.items.start&&start_arr.push(opts.items.start)}if(opts.cookie&&start_arr.unshift(parseInt(cf_getCookie(opts.cookie),10)),start_arr.length>0)for(var a=0,l=start_arr.length;l>a;a++){var s=start_arr[a];if(0!=s){if(s===!0){if(s=window.location.hash,1>s.length)continue}else"random"===s&&(s=Math.floor(Math.random()*itms.total));if($cfs.triggerHandler(cf_e("slideTo",conf),[s,0,!0,{fx:"none"}]))break}}var siz=sz_setSizes($cfs,opts),itm=gi_getCurrentItems($cfs.children(),opts);return opts.onCreate&&opts.onCreate.call($tt0,{width:siz.width,height:siz.height,items:itm}),$cfs.trigger(cf_e("updatePageStatus",conf),[!0,siz]),$cfs.trigger(cf_e("linkAnchors",conf)),conf.debug&&$cfs.trigger(cf_e("debug",conf)),$cfs},$.fn.carouFredSel.serialNumber=1,$.fn.carouFredSel.defaults={synchronise:!1,infinite:!0,circular:!0,responsive:!1,direction:"left",items:{start:0},scroll:{easing:"swing",duration:500,pauseOnHover:!1,event:"click",queue:!1}},$.fn.carouFredSel.configs={debug:!1,transition:!1,onWindowResize:"throttle",events:{prefix:"",namespace:"cfs"},wrapper:{element:"div",classname:"caroufredsel_wrapper"},classnames:{}},$.fn.carouFredSel.pageAnchorBuilder=function(a){return''+a+""},$.fn.carouFredSel.progressbarUpdater=function(a){$(this).css("width",a+"%")},$.fn.carouFredSel.cookie={get:function(a){a+="=";for(var b=document.cookie.split(";"),c=0,d=b.length;d>c;c++){for(var e=b[c];" "==e.charAt(0);)e=e.slice(1);if(0==e.indexOf(a))return e.slice(a.length)}return 0},set:function(a,b,c){var d="";if(c){var e=new Date;e.setTime(e.getTime()+1e3*60*60*24*c),d="; expires="+e.toGMTString()}document.cookie=a+"="+b+d+"; path=/"},remove:function(a){$.fn.carouFredSel.cookie.set(a,"",-1)}},$.extend($.easing,{quadratic:function(a){var b=a*a;return a*(-b*a+4*b-6*a+4)},cubic:function(a){return a*(4*a*a-9*a+6)},elastic:function(a){var b=a*a;return a*(33*b*b-106*b*a+126*b-67*a+15)}}))})(jQuery);
jQuery.easing['jswing']=jQuery.easing['swing'];
jQuery.extend(jQuery.easing,
{
def: 'easeOutQuad',
swing: function (x, t, b, c, d){
return jQuery.easing[jQuery.easing.def](x, t, b, c, d);
},
easeInQuad: function (x, t, b, c, d){
return c*(t/=d)*t + b;
},
easeOutQuad: function (x, t, b, c, d){
return -c *(t/=d)*(t-2) + b;
},
easeInOutQuad: function (x, t, b, c, d){
if((t/=d/2) < 1) return c/2*t*t + b;
return -c/2 * ((--t)*(t-2) - 1) + b;
},
easeInCubic: function (x, t, b, c, d){
return c*(t/=d)*t*t + b;
},
easeOutCubic: function (x, t, b, c, d){
return c*((t=t/d-1)*t*t + 1) + b;
},
easeInOutCubic: function (x, t, b, c, d){
if((t/=d/2) < 1) return c/2*t*t*t + b;
return c/2*((t-=2)*t*t + 2) + b;
},
easeInQuart: function (x, t, b, c, d){
return c*(t/=d)*t*t*t + b;
},
easeOutQuart: function (x, t, b, c, d){
return -c * ((t=t/d-1)*t*t*t - 1) + b;
},
easeInOutQuart: function (x, t, b, c, d){
if((t/=d/2) < 1) return c/2*t*t*t*t + b;
return -c/2 * ((t-=2)*t*t*t - 2) + b;
},
easeInQuint: function (x, t, b, c, d){
return c*(t/=d)*t*t*t*t + b;
},
easeOutQuint: function (x, t, b, c, d){
return c*((t=t/d-1)*t*t*t*t + 1) + b;
},
easeInOutQuint: function (x, t, b, c, d){
if((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
return c/2*((t-=2)*t*t*t*t + 2) + b;
},
easeInSine: function (x, t, b, c, d){
return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
},
easeOutSine: function (x, t, b, c, d){
return c * Math.sin(t/d * (Math.PI/2)) + b;
},
easeInOutSine: function (x, t, b, c, d){
return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
},
easeInExpo: function (x, t, b, c, d){
return (t==0) ? b:c * Math.pow(2, 10 * (t/d - 1)) + b;
},
easeOutExpo: function (x, t, b, c, d){
return (t==d) ? b+c:c * (-Math.pow(2, -10 * t/d) + 1) + b;
},
easeInOutExpo: function (x, t, b, c, d){
if(t==0) return b;
if(t==d) return b+c;
if((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
},
easeInCirc: function (x, t, b, c, d){
return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
},
easeOutCirc: function (x, t, b, c, d){
return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
},
easeInOutCirc: function (x, t, b, c, d){
if((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
},
easeInElastic: function (x, t, b, c, d){
var s=1.70158;var p=0;var a=c;
if(t==0) return b; if((t/=d)==1) return b+c; if(!p) p=d*.3;
if(a < Math.abs(c)){ a=c; var s=p/4; }
else var s=p/(2*Math.PI) * Math.asin (c/a);
return -(a*Math.pow(2,10*(t-=1)) * Math.sin((t*d-s)*(2*Math.PI)/p)) + b;
},
easeOutElastic: function (x, t, b, c, d){
var s=1.70158;var p=0;var a=c;
if(t==0) return b; if((t/=d)==1) return b+c; if(!p) p=d*.3;
if(a < Math.abs(c)){ a=c; var s=p/4; }
else var s=p/(2*Math.PI) * Math.asin (c/a);
return a*Math.pow(2,-10*t) * Math.sin((t*d-s)*(2*Math.PI)/p) + c + b;
},
easeInOutElastic: function (x, t, b, c, d){
var s=1.70158;var p=0;var a=c;
if(t==0) return b; if((t/=d/2)==2) return b+c; if(!p) p=d*(.3*1.5);
if(a < Math.abs(c)){ a=c; var s=p/4; }
else var s=p/(2*Math.PI) * Math.asin (c/a);
if(t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin((t*d-s)*(2*Math.PI)/p)) + b;
return a*Math.pow(2,-10*(t-=1)) * Math.sin((t*d-s)*(2*Math.PI)/p)*.5 + c + b;
},
easeInBack: function (x, t, b, c, d, s){
if(s==undefined) s=1.70158;
return c*(t/=d)*t*((s+1)*t - s) + b;
},
easeOutBack: function (x, t, b, c, d, s){
if(s==undefined) s=1.70158;
return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
},
easeInOutBack: function (x, t, b, c, d, s){
if(s==undefined) s=1.70158;
if((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
},
easeInBounce: function (x, t, b, c, d){
return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b;
},
easeOutBounce: function (x, t, b, c, d){
if((t/=d) < (1/2.75)){
return c*(7.5625*t*t) + b;
}else if(t < (2/2.75)){
return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
}else if(t < (2.5/2.75)){
return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
}else{
return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
}},
easeInOutBounce: function (x, t, b, c, d){
if(t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b;
return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;
}});
(function($){
var types=['DOMMouseScroll', 'mousewheel'];
if($.event.fixHooks){
for(var i=types.length; i;){
$.event.fixHooks[ types[--i] ]=$.event.mouseHooks;
}}
$.event.special.mousewheel={
setup: function(){
if(this.addEventListener){
for(var i=types.length; i;){
this.addEventListener(types[--i], handler, false);
}}else{
this.onmousewheel=handler;
}},
teardown: function(){
if(this.removeEventListener){
for(var i=types.length; i;){
this.removeEventListener(types[--i], handler, false);
}}else{
this.onmousewheel=null;
}}
};
$.fn.extend({
mousewheel: function(fn){
return fn ? this.bind("mousewheel", fn):this.trigger("mousewheel");
},
unmousewheel: function(fn){
return this.unbind("mousewheel", fn);
}});
function handler(event){
var orgEvent=event||window.event, args=[].slice.call(arguments, 1), delta=0, returnValue=true, deltaX=0, deltaY=0;
event=$.event.fix(orgEvent);
event.type="mousewheel";
if(orgEvent.wheelDelta){ delta=orgEvent.wheelDelta/120; }
if(orgEvent.detail){ delta=-orgEvent.detail/3; }
deltaY=delta;
if(orgEvent.axis!==undefined&&orgEvent.axis===orgEvent.HORIZONTAL_AXIS){
deltaY=0;
deltaX=-1*delta;
}
if(orgEvent.wheelDeltaY!==undefined){ deltaY=orgEvent.wheelDeltaY/120; }
if(orgEvent.wheelDeltaX!==undefined){ deltaX=-1*orgEvent.wheelDeltaX/120; }
args.unshift(event, delta, deltaX, deltaY);
return ($.event.dispatch||$.event.handle).apply(this, args);
}})(jQuery);
(function($){
"use strict";
var k={},
max=Math.max,
min=Math.min;
k.c={};
k.c.d=$(document);
k.c.t=function (e){
return e.originalEvent.touches.length - 1;
};
k.o=function (){
var s=this;
this.o=null;
this.$=null;
this.i=null;
this.g=null;
this.v=null;
this.cv=null;
this.x=0;
this.y=0;
this.w=0;
this.h=0;
this.$c=null;
this.c=null;
this.t=0;
this.isInit=false;
this.fgColor=null;
this.pColor=null;
this.dH=null;
this.cH=null;
this.eH=null;
this.rH=null;
this.scale=1;
this.relative=false;
this.relativeWidth=false;
this.relativeHeight=false;
this.$div=null;
this.run=function (){
var cf=function (e, conf){
var k;
for (k in conf){
s.o[k]=conf[k];
}
s.init();
s._configure()
._draw();
};
if(this.$.data('kontroled')) return;
this.$.data('kontroled', true);
this.extend();
this.o=$.extend({
min:this.$.data('min')||0,
max:this.$.data('max')||100,
stopper:true,
readOnly:this.$.data('readonly')||(this.$.attr('readonly')=='readonly'),
cursor:(this.$.data('cursor')===true&&30)
|| this.$.data('cursor')
|| 0,
thickness:(
this.$.data('thickness')
&& Math.max(Math.min(this.$.data('thickness'), 1), 0.01)
)
|| 0.35,
lineCap:this.$.data('linecap')||'butt',
width:this.$.data('width')||200,
height:this.$.data('height')||200,
displayInput:this.$.data('displayinput')==null||this.$.data('displayinput'),
displayPrevious:this.$.data('displayprevious'),
fgColor:this.$.data('fgcolor')||'#87CEEB',
inputColor: this.$.data('inputcolor'),
font: this.$.data('font')||'Arial',
fontWeight: this.$.data('font-weight')||'bold',
inline:false,
step:this.$.data('step')||1,
draw:null,
change:null,
cancel:null,
release:null,
error:null
}, this.o
);
if(!this.o.inputColor){
this.o.inputColor=this.o.fgColor;
}
if(this.$.is('fieldset')){
this.v={};
this.i=this.$.find('input')
this.i.each(function(k){
var $this=$(this);
s.i[k]=$this;
s.v[k]=$this.val();
$this.bind('change keyup'
, function (){
var val={};
val[k]=$this.val();
s.val(val);
}
);
});
this.$.find('legend').remove();
}else{
this.i=this.$;
this.v=this.$.val();
(this.v=='')&&(this.v=this.o.min);
this.$.bind('change keyup'
, function (){
s.val(s._validate(s.$.val()));
}
);
}
(!this.o.displayInput)&&this.$.hide();
this.$c=$(document.createElement('canvas'));
if(typeof G_vmlCanvasManager!=='undefined'){
G_vmlCanvasManager.initElement(this.$c[0]);
}
this.c=this.$c[0].getContext ? this.$c[0].getContext('2d'):null;
if(!this.c){
this.o.error&&this.o.error();
return;
}
this.scale=(window.devicePixelRatio||1) /
(
this.c.webkitBackingStorePixelRatio ||
this.c.mozBackingStorePixelRatio ||
this.c.msBackingStorePixelRatio ||
this.c.oBackingStorePixelRatio ||
this.c.backingStorePixelRatio||1
);
this.relativeWidth=((this.o.width % 1!==0)
&& this.o.width.indexOf('%'));
this.relativeHeight=((this.o.height % 1!==0)
&& this.o.height.indexOf('%'));
this.relative=(this.relativeWidth||this.relativeHeight);
this.$div=$('');
this.$.wrap(this.$div).before(this.$c);
this.$div=this.$.parent();
this._carve();
if(this.v instanceof Object){
this.cv={};
this.copy(this.v, this.cv);
}else{
this.cv=this.v;
}
this.$
.bind("configure", cf)
.parent()
.bind("configure", cf);
this._listen()
._configure()
._xy()
.init();
this.isInit=true;
this._draw();
return this;
};
this._carve=function(){
if(this.relative){
var w=this.relativeWidth
? this.$div.parent().width()
* parseInt(this.o.width) / 100
: this.$div.parent().width(),
h=this.relativeHeight
? this.$div.parent().height()
* parseInt(this.o.height) / 100
: this.$div.parent().height();
this.w=this.h=Math.min(w, h);
}else{
this.w=this.o.width;
this.h=this.o.height;
}
this.$div.css({
'width': this.w + 'px',
'height': this.h + 'px'
});
this.$c.attr({
width: this.w,
height: this.h
});
if(this.scale!==1){
this.$c[0].width=this.$c[0].width * this.scale;
this.$c[0].height=this.$c[0].height * this.scale;
this.$c.width(this.w);
this.$c.height(this.h);
}
return this;
}
this._draw=function (){
var d=true;
s.g=s.c;
s.clear();
s.dH
&& (d=s.dH());
(d!==false)&&s.draw();
};
this._touch=function (e){
var touchMove=function (e){
var v=s.xy2val(
e.originalEvent.touches[s.t].pageX,
e.originalEvent.touches[s.t].pageY
);
s.change(s._validate(v));
s._draw();
};
this.t=k.c.t(e);
touchMove(e);
k.c.d
.bind("touchmove.k", touchMove)
.bind("touchend.k"
, function (){
k.c.d.unbind('touchmove.k touchend.k');
if(s.rH
&& (s.rH(s.cv)===false)
) return;
s.val(s.cv);
}
);
return this;
};
this._mouse=function (e){
var mouseMove=function (e){
var v=s.xy2val(e.pageX, e.pageY);
s.change(s._validate(v));
s._draw();
};
mouseMove(e);
k.c.d
.bind("mousemove.k", mouseMove)
.bind("keyup.k"
, function (e){
if(e.keyCode===27){
k.c.d.unbind("mouseup.k mousemove.k keyup.k");
if(s.eH
&& (s.eH()===false)
) return;
s.cancel();
}}
)
.bind("mouseup.k"
, function (e){
k.c.d.unbind('mousemove.k mouseup.k keyup.k');
if(s.rH
&& (s.rH(s.cv)===false)
) return;
s.val(s.cv);
}
);
return this;
};
this._xy=function (){
var o=this.$c.offset();
this.x=o.left;
this.y=o.top;
return this;
};
this._listen=function (){
if(!this.o.readOnly){
this.$c
.bind("mousedown"
, function (e){
e.preventDefault();
s._xy()._mouse(e);
}
)
.bind("touchstart"
, function (e){
e.preventDefault();
s._xy()._touch(e);
}
);
this.listen();
}else{
this.$.attr('readonly', 'readonly');
}
if(this.relative){
$(window).resize(function(){
s._carve()
.init();
s._draw();
});
}
return this;
};
this._configure=function (){
if(this.o.draw) this.dH=this.o.draw;
if(this.o.change) this.cH=this.o.change;
if(this.o.cancel) this.eH=this.o.cancel;
if(this.o.release) this.rH=this.o.release;
if(this.o.displayPrevious){
this.pColor=this.h2rgba(this.o.fgColor, "0.4");
this.fgColor=this.h2rgba(this.o.fgColor, "0.6");
}else{
this.fgColor=this.o.fgColor;
}
return this;
};
this._clear=function (){
this.$c[0].width=this.$c[0].width;
};
this._validate=function(v){
return (~~ (((v < 0) ? -0.5:0.5) + (v/this.o.step))) * this.o.step;
};
this.listen=function (){};
this.extend=function (){};
this.init=function (){};
this.change=function (v){};
this.val=function (v){};
this.xy2val=function (x, y){};
this.draw=function (){};
this.clear=function (){ this._clear(); };
this.h2rgba=function (h, a){
var rgb;
h=h.substring(1,7)
rgb=[parseInt(h.substring(0,2),16)
,parseInt(h.substring(2,4),16)
,parseInt(h.substring(4,6),16)];
return "rgba(" + rgb[0] + "," + rgb[1] + "," + rgb[2] + "," + a + ")";
};
this.copy=function (f, t){
for (var i in f){ t[i]=f[i]; }};};
k.Dial=function (){
k.o.call(this);
this.startAngle=null;
this.xy=null;
this.radius=null;
this.lineWidth=null;
this.cursorExt=null;
this.w2=null;
this.PI2=2*Math.PI;
this.extend=function (){
this.o=$.extend({
bgColor:this.$.data('bgcolor')||'#EEEEEE',
angleOffset:this.$.data('angleoffset')||0,
angleArc:this.$.data('anglearc')||360,
inline:true
}, this.o
);
};
this.val=function (v){
if(null!=v){
var newValue=this.o.stopper ? max(min(v, this.o.max), this.o.min):v;
if(newValue!=this.cv
&& this.cH
&& (this.cH(this.cv)===false)
) return;
this.v=this.cv=newValue;
this.$.val(this.v);
this._draw();
}else{
return this.v;
}};
this.xy2val=function (x, y){
var a, ret;
a=Math.atan2(
x - (this.x + this.w2)
, - (y - this.y - this.w2)
) - this.angleOffset;
if(this.angleArc!=this.PI2&&(a < 0)&&(a > -0.5)){
a=0;
}else if(a < 0){
a +=this.PI2;
}
ret=~~ (0.5 + (a * (this.o.max - this.o.min) / this.angleArc))
+ this.o.min;
this.o.stopper
&& (ret=max(min(ret, this.o.max), this.o.min));
return ret;
};
this.listen=function (){
var s=this,
mw=function (e){
e.preventDefault();
var ori=e.originalEvent
,deltaX=ori.detail||ori.wheelDeltaX
,deltaY=ori.detail||ori.wheelDeltaY
,v=parseInt(s.$.val()) + (deltaX>0||deltaY>0 ? s.o.step:deltaX<0||deltaY<0 ? -s.o.step:0);
s.val(v);
}
, kval, to, m=1, kv={37:-s.o.step, 38:s.o.step, 39:s.o.step, 40:-s.o.step};
this.$
.bind("keydown"
,function (e){
var kc=e.keyCode;
if(kc >=96&&kc <=105){
kc=e.keyCode=kc - 48;
}
kval=parseInt(String.fromCharCode(kc));
if(isNaN(kval)){
(kc!==13)
&& (kc!==8)
&& (kc!==9)
&& (kc!==189)
&& e.preventDefault();
if($.inArray(kc,[37,38,39,40]) > -1){
e.preventDefault();
var v=parseInt(s.$.val()) + kv[kc] * m;
s.o.stopper
&& (v=max(min(v, s.o.max), s.o.min));
s.change(v);
s._draw();
to=window.setTimeout(function (){ m*=2; }
,30
);
}}
}
)
.bind("keyup"
,function (e){
if(isNaN(kval)){
if(to){
window.clearTimeout(to);
to=null;
m=1;
s.val(s.$.val());
}}else{
(s.$.val() > s.o.max&&s.$.val(s.o.max))
|| (s.$.val() < s.o.min&&s.$.val(s.o.min));
}}
);
this.$c.bind("mousewheel DOMMouseScroll", mw);
this.$.bind("mousewheel DOMMouseScroll", mw)
};
this.init=function (){
if(this.v < this.o.min
|| this.v > this.o.max
) this.v=this.o.min;
this.$.val(this.v);
this.w2=this.w / 2;
this.cursorExt=this.o.cursor / 100;
this.xy=this.w2 * this.scale;
this.lineWidth=this.xy * this.o.thickness;
this.lineCap=this.o.lineCap;
this.radius=this.xy - this.lineWidth / 2;
this.o.angleOffset
&& (this.o.angleOffset=isNaN(this.o.angleOffset) ? 0:this.o.angleOffset);
this.o.angleArc
&& (this.o.angleArc=isNaN(this.o.angleArc) ? this.PI2:this.o.angleArc);
this.angleOffset=this.o.angleOffset * Math.PI / 180;
this.angleArc=this.o.angleArc * Math.PI / 180;
this.startAngle=1.5 * Math.PI + this.angleOffset;
this.endAngle=1.5 * Math.PI + this.angleOffset + this.angleArc;
var s=max(
String(Math.abs(this.o.max)).length
, String(Math.abs(this.o.min)).length
, 2
) + 2;
this.o.displayInput
&& this.i.css({
'width':((this.w / 2 + 4) >> 0) + 'px'
,'height':((this.w / 3) >> 0) + 'px'
,'position':'absolute'
,'vertical-align':'middle'
,'margin-top':((this.w / 3) >> 0) + 'px'
,'margin-left':'-' + ((this.w * 3 / 4 + 2) >> 0) + 'px'
,'border':0
,'background':'none'
,'font':this.o.fontWeight + ' ' + ((this.w / s) >> 0) + 'px ' + this.o.font
,'text-align':'center'
,'color':this.o.inputColor||this.o.fgColor
,'padding':'0px'
,'-webkit-appearance': 'none'
})
|| this.i.css({
'width':'0px'
,'visibility':'hidden'
});
};
this.change=function (v){
if(v==this.cv) return;
this.cv=v;
if(this.cH
&& (this.cH(v)===false)
) return;
};
this.angle=function (v){
return (v - this.o.min) * this.angleArc / (this.o.max - this.o.min);
};
this.draw=function (){
var c=this.g,
a=this.angle(this.cv)
, sat=this.startAngle
, eat=sat + a
, sa, ea
, r=1;
c.lineWidth=this.lineWidth;
c.lineCap=this.lineCap;
this.o.cursor
&& (sat=eat - this.cursorExt)
&& (eat=eat + this.cursorExt);
c.beginPath();
c.strokeStyle=this.o.bgColor;
c.arc(this.xy, this.xy, this.radius, this.endAngle - 0.00001, this.startAngle + 0.00001, true);
c.stroke();
if(this.o.displayPrevious){
ea=this.startAngle + this.angle(this.v);
sa=this.startAngle;
this.o.cursor
&& (sa=ea - this.cursorExt)
&& (ea=ea + this.cursorExt);
c.beginPath();
c.strokeStyle=this.pColor;
c.arc(this.xy, this.xy, this.radius, sa - 0.00001, ea + 0.00001, false);
c.stroke();
r=(this.cv==this.v);
}
c.beginPath();
c.strokeStyle=r ? this.o.fgColor:this.fgColor ;
c.arc(this.xy, this.xy, this.radius, sat - 0.00001, eat + 0.00001, false);
c.stroke();
};
this.cancel=function (){
this.val(this.v);
};};
$.fn.dial=$.fn.knob=function (o){
return this.each(function (){
var d=new k.Dial();
d.o=o;
d.$=$(this);
d.run();
}
).parent();
};})(jQuery);
jQuery(window).load(function(){
jQuery("#loader").delay(500).fadeOut();
jQuery(".mask").delay(1000).fadeOut("slow");
});
jQuery(document).ready(function(){
if(jQuery('#maximage-external').length > 0){
jQuery('#maximage-external').maximage({
cycleOptions: {
fx: 'fade',
speed: 1000,
timeout: 6000,
prev: '#arrow_left',
next: '#arrow_right',
pause: 1,
},
});
}
jQuery("#navigation").sticky({topSpacing:1});
jQuery('a.external').click(function(){
if(jQuery('.mask').length > 0){
var url=jQuery(this).attr('href');
jQuery('.mask').fadeIn(250, function(){
document.location.href=url;
});
jQuery("#loader").fadeIn("slow");
return false;
}});
});
jQuery(function(){
jQuery('a#back-top').click(function (){
jQuery('html, body').stop().animate({
scrollTop: 0
}, 1500,'easeInOutExpo');
});
});
jQuery(function(){
jQuery('.nav a, .nav li a, #home-center a, a.move').bind('click',function(event){
var $anchor=jQuery(this);
jQuery('html, body').stop().animate({
scrollTop: jQuery($anchor.attr('href')).offset().top -44
}, 1500,'easeInOutExpo');
event.preventDefault();
});
});
jQuery(function(){
jQuery("a[rel^='prettyPhoto']").prettyPhoto({
opacity: 0.5,
social_tools: "",
deeplinking: false
});
});
jQuery(window).bind('load', function (){
parallaxInit();
});
function parallaxInit(){
jQuery('.parallax').each(function(){
jQuery(this).parallax("30%", 0.1);
});
}
jQuery(document).ready(function(){
var onMobile=false;
if(/Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent)){ onMobile=true; }
var fullwidth_slider_auto=true;
var fullwidth_slider_speed=1000;
if(typeof FullwidthSliderOptions!='undefined'){
fullwidth_slider_auto=FullwidthSliderOptions.slider_auto;
fullwidth_slider_speed=FullwidthSliderOptions.slider_speed;
}
jQuery('.fullwidth-slider').bxSlider({
mode: "fade",
speed: 1000,
pager: false,
auto: fullwidth_slider_auto,
pause: fullwidth_slider_speed,
onSlideBefore: function(jQueryslideElement){
(jQueryslideElement).find('.slide-caption').fadeOut().animate({top:'100px'},{queue:false, easing: 'easeOutQuad', duration: 550});
(jQueryslideElement).find('.slide-caption').hide().animate({top:'-100px'});
},
onSlideAfter: function(jQueryslideElement){
(jQueryslideElement).find('.slide-caption').fadeIn().animate({top:'0'},{queue:false, easing: 'easeOutQuad', duration: 450});
},
});
jQuery('.bx-wrapper .bx-controls-direction a').attr('data-500','top:83%; opacity: 0;').attr('data-start','top:50%; opacity: 1;');
if(( onMobile===false)&&(jQuery('.parallax-slider').length)){
skrollr.init({
edgeStrategy: 'set',
smoothScrolling: false,
forceHeight: false
});
}
jQuery('.twitter-slider').bxSlider({
controls: true,
pager: false,
auto:true,
mode:'fade',
pause: 3000,
});
jQuery('.clients-slider').bxSlider({
pagerCustom: '#bx-pager',
controls:false,
});
jQuery('.project-slider').bxSlider({
controls: true,
pager: false,
auto:true,
pause: 3000,
preloadImages:'all',
});
jQuery('.blog-slider').bxSlider({
controls: true,
pager: false,
auto:false,
pause: 3000,
preloadImages: 'visible',
adaptiveHeight:true,
});
var text_slider_transition='fade';
var text_slider_speed=5000;
if(typeof TextSliderOptions!='undefined'){
text_slider_transition=TextSliderOptions.slider_transition;
text_slider_speed=TextSliderOptions.slider_speed;
}
jQuery('.text-slide-vertical').bxSlider({
controls: false,
adaptiveHeight: true,
pager: false,
auto: true,
mode: text_slider_transition,
pause: text_slider_speed,
});
var page_title=jQuery('body');
var block_intro=page_title.find('.block-intro');
if(block_intro.length > 0) var block_intro_top=block_intro.offset().top;
jQuery(window).scroll(function(){
var current_top=jQuery(document).scrollTop(); block_intro.css('top', (current_top*0.50)); block_intro.css('opacity', (1 - current_top/500));
});
if(jQuery('.our-team-new').length > 0){
jQuery('.our-team-new').carouFredSel({
width: '100%',
height: 'auto',
prev: '#prev3',
next: '#next3',
align: "center",
scroll: 1,
auto: false,
visible: {
min: 1,
max: 5
}});
}
if(jQuery('.new-service').length > 0){
jQuery('.new-service').carouFredSel({
width: '100%',
height: 'auto',
prev: '#prev1',
next: '#next1',
align: "center",
scroll: 1,
auto: false,
visible: {
min: 1,
max: 5
}});
}
jQuery(".knob").knob({
width: 140,
height: 140,
fgColor: '#222',
inputColor: '#999',
dynamicDraw: true,
thickness: 0.15,
tickColorizeValues: true,
skin:'tron',
readOnly:true,
});
jQuery(".knob").appear(function(e){
var $this=jQuery(this);
var myVal=$this.attr("rel");
jQuery({value: 0}).animate({value: myVal}, {
duration: 2000,
easing: 'swing',
step: function (){
$this.val(Math.ceil(this.value)).trigger('change');
}})
});
jQuery('.new-client-slider-image').flexslider({
animation: "fade",
directionNav:false,
controlNav:false,
smoothHeight: true,
animationLoop:true,
slideshowSpeed: 5000,
slideToStart: 0,
});
jQuery('.new-client-slider-info').flexslider({
animation: "slide",
directionNav:true,
controlsContainer:".new-client-nav",
controlNav:false,
smoothHeight: true,
animationLoop:true,
sync: ".new-client-slider-image",
slideshowSpeed: 5000,
slideToStart: 0,
});
var carousel=jQuery(".contact-details-slider");
if(jQuery('.contact-details-slider').length > 0){
jQuery('.contact-details-slider').carouFredSel({
auto: false,
width: '100%',
height: 'variable',
responsive: true,
onCreate: function (){
jQuery(window).on('resize', function (){
carousel.parent().add(carousel).height(carousel.children().first().height());
}).trigger('resize');
},
items: {
height: 'auto',
},
scroll: {
fx: 'scroll',
onBefore: function(data){
jQuery('.contact-icons-slider').trigger('slideTo', [ jQuery('.contact-icons-slider li[class='+ data.items.visible.attr('id') +']'), -1 ]);
}}
});
}
if(jQuery('.contact-icons-slider').length > 0){
jQuery('.contact-icons-slider').carouFredSel({
auto: false,
items: {
visible: 3,
start: -1
},
});
}
jQuery('.contact-icons-slider li').click(function(){
jQuery('.contact-details-slider').trigger('slideTo', [ jQuery('.contact-details-slider li[id='+ jQuery(this).attr('class') +']') ]);
jQuery('.contact-icons-slider li').removeClass('active-icon');
jQuery(this).addClass('active-icon');
}).css('cursor', 'pointer');
jQuery('.hide-overlay').click(function(){
jQuery(".map-overlay").toggleClass("overlay-hide");
jQuery(".hide-overlay").toggleClass("show-overlay");
});
jQuery('#maximage-external').maximage({
cycleOptions: {
fx: 'fade',
speed: 1000,
timeout: 6000,
prev: '#arrow_left',
next: '#arrow_right',
pause: 1,
},
});
});
jQuery('.nav a.collapse_menu1').click(function (){ jQuery(".nav-collapse").collapse("hide") });
jQuery('body').on('touchstart.dropdown', '.dropdown-menu', function (e){ e.stopPropagation(); });
jQuery('dl.accordion dt').filter(':first-child').addClass('accordion-active');
jQuery('dd.accordion-content').filter(':nth-child(n+3)').addClass('hide');
jQuery('dl.accordion').on('click', 'dt', function(){
jQuery(this)
.addClass('accordion-active')
.next()
.slideDown(200)
.siblings('dd.accordion-content')
.slideUp(200)
.prev()
.removeClass('accordion-active');
});
jQuery(".tab_container").hide();
jQuery("ul.tabs li:first").addClass("tab-active").show();
jQuery(".tab_container:first").show();
jQuery("ul.tabs li").click(function(){
jQuery("ul.tabs li").removeClass("tab-active");
jQuery(this).addClass("tab-active");
jQuery(".tab_container").hide();
var activeTab=jQuery(this).find("a").attr("href");
jQuery(activeTab).fadeIn();
return false;
});
jQuery(".toggle_container").hide();
jQuery("span.toggle-title").click(function(){
jQuery(this).toggleClass("toggle-active").next().slideToggle("normal");
return false;
});
jQuery(document).ready(function(){
jQuery('.element_from_top').each(function (){
jQuery(this).appear(function(){
jQuery(this).delay(150).animate({opacity:1,top:"0px"},1000);
});
});
jQuery('.element_from_bottom').each(function (){
jQuery(this).appear(function(){
jQuery(this).delay(150).animate({opacity:1,bottom:"0px"},1000);
});
});
jQuery('.element_from_left').each(function (){
jQuery(this).appear(function(){
jQuery(this).delay(150).animate({opacity:1,left:"0px"},1000);
});
});
jQuery('.element_from_right').each(function (){
jQuery(this).appear(function(){
jQuery(this).delay(150).animate({opacity:1,right:"0px"},1000);
});
});
jQuery('.element_fade_in').each(function (){
jQuery(this).appear(function(){
jQuery(this).delay(150).animate({opacity:1,right:"0px"},1000);
});
});
jQuery('.bar li').each(function (){
jQuery(this).appear(function(){
jQuery(this).animate({opacity:1,left:"0px"},1200);
var b=jQuery(this).find("span").attr("data-width");
jQuery(this).find("span").animate({
width: b + "%"
}, 1700, "easeOutCirc");
});
});
jQuery('.counters').each(function (){
jQuery(".timer .count").appear(function(){
var counter=jQuery(this).html();
jQuery(this).countTo({
from: 0,
to: counter,
speed: 2000,
refreshInterval: 60,
});
});
});
jQuery('.shortcode_alertbox').find('.box_close').click(function(){
jQuery(this).parents('.alertboxes').animate({opacity:0},300).animate({height:"0px"});
});
});
jQuery(window).load(function(){
var $container=jQuery('.blog-posts-content');
$container.isotope({
masonry: { },
animationOptions: {
duration: 750,
easing: 'linear',
queue: false,
},
});
});
jQuery(document).ready(function($){
var container=jQuery('#portfolio-wrap');
container.isotope({
animationEngine:'best-available',
animationOptions: {
duration: 200,
queue: false
},
layoutMode: 'fitRows'
});
jQuery('#filters a').click(function(){
jQuery('#filters a').removeClass('active');
jQuery(this).addClass('active');
var selector=jQuery(this).attr('data-filter');
container.isotope({ filter: selector });
setProjects();
return false;
});
function splitColumns(){
var winWidth=jQuery(window).width(),
columnNumb=1;
var portfolioColumns=4;
if(typeof PortfolioColumnsOptions!='undefined'){
portfolioColumns=PortfolioColumnsOptions.columns_no;
}
if(winWidth > 1300){
columnNumb=portfolioColumns;
}else if(winWidth > 1024){
columnNumb=3;
}else if(winWidth > 900){
columnNumb=2;
}else if(winWidth > 479){
columnNumb=2;
}else if(winWidth < 479){
columnNumb=1;
}
return columnNumb;
}
function setColumns(){
var winWidth=jQuery(window).width(),
columnNumb=splitColumns(),
postWidth=Math.floor(winWidth / columnNumb);
container.find('.portfolio-item').each(function (){
jQuery(this).css({
width:postWidth + 'px'
});
});
}
function setProjects(){
setColumns();
container.isotope('reLayout');
}
container.imagesLoaded(function (){
setColumns();
});
jQuery(window).bind('resize', function (){
setProjects();
});
});
function initBxModal(){
jQuery('.project-slider').bxSlider({
controls: true,
pager: false,
auto:true,
pause: 3000,
adaptiveHeight:true,
});
};
jQuery(function (){
var fullscreen_slider_transition='fade';
var fullscreen_slider_speed=5000;
if(typeof FullScreenSliderOptions!='undefined'){
fullscreen_slider_transition=FullScreenSliderOptions.slider_transition;
fullscreen_slider_speed=FullScreenSliderOptions.slider_speed;
}
jQuery('#fullscreen-slider').maximage({
cycleOptions: {
fx: fullscreen_slider_transition,
speed: 1000,
timeout: fullscreen_slider_speed,
prev: '#slider_left',
next: '#slider_right',
pause: 0,
before: function(last,current){
jQuery('.slide-content').fadeOut().animate({top:'100px'},{queue:false, easing: 'easeOutQuad', duration: 550});
jQuery('.slide-content').fadeOut().animate({top:'-100px'});
},
after: function(last,current){
jQuery('.slide-content').fadeIn().animate({top:'0'},{queue:false, easing: 'easeOutQuad', duration: 450});
}},
onFirstImageLoaded: function(){
jQuery('#cycle-loader').delay(800).hide();
jQuery('#fullscreen-slider').delay(800).fadeIn('slow');
jQuery('.slide-content').fadeIn().animate({top:'0'});
jQuery('.slide-content a').bind('click',function(event){
var jQueryanchor=jQuery(this);
jQuery('html, body').stop().animate({
scrollTop: jQuery(jQueryanchor.attr('href')).offset().top -44
}, 1500,'easeInOutExpo');
event.preventDefault();
});
}});
jQuery('video,object').maximage('maxcover');
});
jQuery(window).load(function(){
(function(){
var container=jQuery("#project-page-holder");
var $items=jQuery('#portfolio-wrap .open-project-link');
index=$items.length;
jQuery('#portfolio-wrap .open-project-link').click(function(){
if(jQuery(this).hasClass('active')){
}else{
lastIndex=index;
index=jQuery(this).index();
$items.removeClass('active');
jQuery(this).addClass('active');
var myUrl=jQuery(this).find('.open-project').attr("href") + " .item-data";
jQuery('#project-page-data').animate({opacity:0}, 400,function(){
jQuery("#project-page-data").load(myUrl,function(e){
var jQueryhelper=jQuery('.helper');
var height=jQueryhelper.height();
jQuery('#project-page-data').css("min-height", height);
jQuery('.project-slider').css({'height':''});
jQuery('#maximage').css({'height':''});
jQuery('#maximage').maximage({
cycleOptions: {
fx: 'fade',
speed: 1000,
timeout: 6000,
prev: '#arrow_left',
next: '#arrow_right',
pause: 1,
},
});
jQuery('#project-page-data').delay(400).animate({opacity:1}, 400);
});
});
}
jQuery('html, body').animate({ scrollTop: jQuery(".portfolio-bottom").offset().top -40}, 900);
jQuery('#project-page-data').waitForImages({
finished: function(){
jQuery('#project-page-holder').slideUp(600, function(){ jQuery('#project-page-data').css('visibility', 'visible');}).delay(1100).slideDown(1000,function(){
jQuery('#project-page-data').fadeIn('slow',function(){initBxModal();});
jQuery('.element_fade_in').each(function (){
jQuery(this).appear(function(){
jQuery(this).delay(100).animate({opacity:1,right:"0px"},1000);
});
});
});
},
waitForAll: true
});
return false;
});
jQuery(document).on('click', '#project_close', function(event){
jQuery('#project-page-data').animate({opacity:0}, 400,function(){
jQuery('#project-page-holder').delay(400).slideUp(400);
});
jQuery('html, body').delay(1000).animate({ scrollTop: jQuery(".portfolio-top").offset().top - 70}, 800);
$items.removeClass('active') ;
return false;
});
})();
});
jQuery(window).load(function(){
if(jQuery("#all").length > 0){
document.getElementById("all").click();
}
resizeNavigationMenu();
});
function resizeNavigationMenu(){
jQuery('ul#nav.nav').find("li").each(function(){
if((jQuery(window).width() <=1300)&&(jQuery(window).width() >=1000)){
if((typeof jQuery(this).attr('data-threshold-margin-right')!='undefined')&&(jQuery(this).attr('data-threshold-margin-right')!='')){
var margin_right=jQuery(this).attr('data-threshold-margin-right') + 'px';
jQuery(this).css('margin-right', margin_right);
}}else{
if((typeof jQuery(this).attr('data-margin-right')!='undefined')&&(jQuery(this).attr('data-margin-right')!='')){
var margin_right=jQuery(this).attr('data-margin-right') + 'px';
jQuery(this).css('margin-right', margin_right);
}}
});
}
jQuery(window).resize(function(){
resizeNavigationMenu();
});
var completed=0;
if(jQuery('a.facebook-share').length > 0||jQuery('a.twitter-share').length > 0||jQuery('a.pinterest-share').length > 0){
jQuery.getJSON("http://graph.facebook.com/?id="+ window.location +'&callback=?', function(data){
if((data.shares!=0)&&(data.shares!=undefined)&&(data.shares!=null)){
jQuery('.facebook-share a span.count, a.facebook-share span.count').html(data.shares);
}else{
jQuery('.facebook-share a span.count, a.facebook-share span.count').html(0);
}
completed++;
});
function facebookShare(){
window.open('https://www.facebook.com/sharer/sharer.php?u='+window.location, "facebookWindow", "height=380,width=660,resizable=0,toolbar=0,menubar=0,status=0,location=0,scrollbars=0")
return false;
}
jQuery('.facebook-share').click(facebookShare);
jQuery.getJSON('http://urls.api.twitter.com/1/urls/count.json?url='+window.location+'&callback=?', function(data){
if((data.count!=0)&&(data.count!=undefined)&&(data.count!=null)){
jQuery('.twitter-share a span.count, a.twitter-share span.count').html(data.count);
}else{
jQuery('.twitter-share a span.count, a.twitter-share span.count').html(0);
}
completed++;
});
function twitterShare(){
window.open('http://twitter.com/intent/tweet?text='+jQuery(".project-header h1 .text-large").text() +' '+window.location, "twitterWindow", "height=380,width=660,resizable=0,toolbar=0,menubar=0,status=0,location=0,scrollbars=0")
return false;
}
jQuery('.newave-social .twitter-share').click(twitterShare);
jQuery.getJSON('http://api.pinterest.com/v1/urls/count.json?url='+window.location+'&callback=?', function(data){
if((data.count!=0)&&(data.count!=undefined)&&(data.count!=null)){
jQuery('.pinterest-share a span.count, a.pinterest-share span.count').html(data.count);
}else{
jQuery('.pinterest-share a span.count, a.pinterest-share span.count').html(0);
}
completed++;
});
function pinterestShare(){
var jQuerysharingImg='';
if((jQuery('#single-portfolio-featured-image').length > 0)&&(jQuery('#single-portfolio-featured-image').attr('data-featured-img')!='empty')){
jQuerysharingImg=jQuery('#single-portfolio-featured-image').attr('data-featured-img');
}
window.open('http://pinterest.com/pin/create/button/?url='+window.location+'&media='+jQuerysharingImg+'&description='+jQuery('.project-header h1 .text-large').text(), "pinterestWindow", "height=640,width=660,resizable=0,toolbar=0,menubar=0,status=0,location=0,scrollbars=0")
return false;
}
jQuery('.newave-social .pinterest-share').click(pinterestShare);
}
var page_title=jQuery('body');
var block_intro=page_title.find('#collage');
if(block_intro.length > 0) var block_intro_top=block_intro.offset().top;
jQuery(window).scroll(function(){
var current_top=jQuery(document).scrollTop(); var collage_height=jQuery(window).height(); block_intro.css('top', (current_top*0.50)); block_intro.css('opacity', (1 - current_top/collage_height*1.2));
});
jQuery.fn.bgscroll=jQuery.fn.bgScroll=function(options){
if(!this.length) return this;
if(!options) options={};
if(!window.scrollElements) window.scrollElements={};
for(var i=0; i < this.length; i++){
var allowedChars='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
var randomId='';
for(var l=0; l < 5; l++) randomId +=allowedChars.charAt(Math.floor(Math.random() * allowedChars.length));
this[ i ].current=0;
this[ i ].scrollSpeed=options.scrollSpeed ? options.scrollSpeed:70;
this[ i ].direction=options.direction ? options.direction:'h';
window.scrollElements[ randomId ]=this[ i ];
eval('window[randomId]=function(){var axis=0;var e=window.scrollElements.' + randomId + ';e.current +=1;if(e.direction=="h") axis=e.current + "px 0";else if(e.direction=="v") axis="0 " + e.current + "px";else if(e.direction=="d") axis=e.current + "px " + e.current + "px";jQuery(e).css("background-position", axis);}');
setInterval('window.' + randomId + '()', options.scrollSpeed ? options.scrollSpeed:70);
}
return this;
}
var scroll_speed=5;
var scroll_direction='h';
if(typeof CollageBkndOptions!='undefined'){
scroll_speed=CollageBkndOptions.scroll_speed;
scroll_direction=CollageBkndOptions.scroll_direction;
}
jQuery('#collage').bgscroll({scrollSpeed:scroll_speed , direction:scroll_direction });
function animUp(){
jQuery("#arrow").animate({
top: "-3px"
}, "slow", "swing", animDown);
}
function animDown(){
jQuery("#arrow").animate({
top: "3px"
}, "slow", "swing", animUp);
}
jQuery(document).ready(function(){
animUp();
});
!function(c,d){"use strict";var e=!1,n=!1;if(d.querySelector)if(c.addEventListener)e=!0;if(c.wp=c.wp||{},!c.wp.receiveEmbedMessage)if(c.wp.receiveEmbedMessage=function(e){var t=e.data;if(t)if(t.secret||t.message||t.value)if(!/[^a-zA-Z0-9]/.test(t.secret)){for(var r,a,i,s=d.querySelectorAll('iframe[data-secret="'+t.secret+'"]'),n=d.querySelectorAll('blockquote[data-secret="'+t.secret+'"]'),o=0;oRead More',
lessLink: 'Close',
embedCSS: true,
sectionCSS: 'display: block; width: 100%;',
startOpen: false,
expandedClass: 'readmore-js-expanded',
collapsedClass: 'readmore-js-collapsed',
beforeToggle: function(){},
afterToggle: function(){}},
cssEmbedded=false;
function Readmore(element, options){
this.element=element;
this.options=$.extend({}, defaults, options);
$(this.element).data('max-height', this.options.maxHeight);
$(this.element).data('height-margin', this.options.heightMargin);
delete(this.options.maxHeight);
if(this.options.embedCSS&&! cssEmbedded){
var styles='.readmore-js-toggle, .readmore-js-section { ' + this.options.sectionCSS + ' } .readmore-js-section { overflow: hidden; }';
(function(d,u){
var css=d.createElement('style');
css.type='text/css';
if(css.styleSheet){
css.styleSheet.cssText=u;
}else{
css.appendChild(d.createTextNode(u));
}
d.getElementsByTagName('head')[0].appendChild(css);
}(document, styles));
cssEmbedded=true;
}
this._defaults=defaults;
this._name=readmore;
this.init();
}
Readmore.prototype={
init: function(){
var $this=this;
$(this.element).each(function(){
var current=$(this),
maxHeight=(current.css('max-height').replace(/[^-\d\.]/g, '') > current.data('max-height')) ? current.css('max-height').replace(/[^-\d\.]/g, ''):current.data('max-height'),
heightMargin=current.data('height-margin');
if(current.css('max-height')!='none'){
current.css('max-height', 'none');
}
$this.setBoxHeight(current);
if(current.outerHeight(true) <=maxHeight + heightMargin){
return true;
}else{
current.addClass('readmore-js-section ' + $this.options.collapsedClass).data('collapsedHeight', maxHeight);
var useLink=$this.options.startOpen ? $this.options.lessLink:$this.options.moreLink;
current.after($(useLink).on('click', function(event){ $this.toggleSlider(this, current, event) }).addClass('readmore-js-toggle'));
if(!$this.options.startOpen){
current.css({height: maxHeight});
}}
});
$(window).on('resize', function(event){
$this.resizeBoxes();
});
},
toggleSlider: function(trigger, element, event){
event.preventDefault();
var $this=this,
newHeight=newLink=sectionClass='',
expanded=false,
collapsedHeight=$(element).data('collapsedHeight');
if($(element).height() <=collapsedHeight){
newHeight=$(element).data('expandedHeight') + 'px';
newLink='lessLink';
expanded=true;
sectionClass=$this.options.expandedClass;
}else{
newHeight=collapsedHeight;
newLink='moreLink';
sectionClass=$this.options.collapsedClass;
}
$this.options.beforeToggle(trigger, element, expanded);
$(element).animate({'height': newHeight}, {duration: $this.options.speed, complete: function(){
$this.options.afterToggle(trigger, element, expanded);
$(trigger).replaceWith($($this.options[newLink]).on('click', function(event){ $this.toggleSlider(this, element, event) }).addClass('readmore-js-toggle'));
$(this).removeClass($this.options.collapsedClass + ' ' + $this.options.expandedClass).addClass(sectionClass);
}});
},
setBoxHeight: function(element){
var el=element.clone().css({'height': 'auto', 'width': element.width(), 'overflow': 'hidden'}).insertAfter(element),
height=el.outerHeight(true);
el.remove();
element.data('expandedHeight', height);
},
resizeBoxes: function(){
var $this=this;
$('.readmore-js-section').each(function(){
var current=$(this);
$this.setBoxHeight(current);
if(current.height() > current.data('expandedHeight')||(current.hasClass($this.options.expandedClass)&¤t.height() < current.data('expandedHeight'))){
current.css('height', current.data('expandedHeight'));
}});
},
destroy: function(){
var $this=this;
$(this.element).each(function(){
var current=$(this);
current.removeClass('readmore-js-section ' + $this.options.collapsedClass + ' ' + $this.options.expandedClass).css({'max-height': '', 'height': 'auto'}).next('.readmore-js-toggle').remove();
current.removeData();
});
}};
$.fn[readmore]=function(options){
var args=arguments;
if(options===undefined||typeof options==='object'){
return this.each(function (){
if($.data(this, 'plugin_' + readmore)){
var instance=$.data(this, 'plugin_' + readmore);
instance['destroy'].apply(instance);
}
$.data(this, 'plugin_' + readmore, new Readmore(this, options));
});
}else if(typeof options==='string'&&options[0]!=='_'&&options!=='init'){
return this.each(function (){
var instance=$.data(this, 'plugin_' + readmore);
if(instance instanceof Readmore&&typeof instance[options]==='function'){
instance[options].apply(instance, Array.prototype.slice.call(args, 1));
}});
}}
})(jQuery);